DELETE FROM repertory > 1205 - Lock wait timeout exceeded; try restarting transaction
时间: 2023-11-21 21:56:22 浏览: 72
根据提供的引用内容,无法确定repertory是哪个数据库中的表。但是,根据错误信息“Lock wait timeout exceeded; try restarting transaction”,可以确定在执行DELETE语句时,该表被锁定了,可能是由于其他事务正在使用该表或者该表正在被其他进程占用。因此,建议您尝试重新启动事务或等待一段时间后再次尝试删除操作。
相关问题
delete FROM repertory > 1205 - Lock wait timeout exceeded; try restarting transaction > 时间: 51.094s
根据提供的引用内容,无法确定repertory是哪个数据库中的表。但是根据给出的SQL语句,可以看出是在尝试从repertory表中删除数据。而根据错误提示信息,删除操作被锁定超时了,建议尝试重新启动事务并再次尝试删除操作。
如果您确定repertory是MySQL数据库中的表,您可以尝试以下操作:
```sql
START TRANSACTION;
DELETE FROM repertory;
COMMIT;
```
这将启动一个新的事务,删除repertory表中的所有数据,并提交事务。如果删除操作仍然被锁定超时,请尝试增加等待时间或检查是否有其他进程正在访问该表。
int commodity::iFile() //文件读入 { struct Node { int cid; //商品编号 string cname; //商品名称 double cFprice; //进货价格 double cEprice; //售价 int crepertory; //库存 string cproducer; //生厂商 string cbrand; //品牌 string ctype; //类型 }; string filename = "D:\\commodity.txt"; ifstream F(filename, ios::in); int i = 0; cout << " int i = 0;"; while (!F.eof()) { cout << "!F.eof())"; // F >> z.cid >> z.cname >> z.cFprice >>z. cEprice >> z.crepertory >> z.cproducer >> z.cbrand >>z. ctype; v.push_back(z); /*v[i].id = cid; v[i].name = cname; v[i].Fprice = cFprice; v[i].Eprice = cEprice; v[i].repertory = crepertory; v[i].producer = cproducer; v[i].brand = cbrand; v[i].type = ctype; i++; cout << "while (!F.eof())"; cout << v[i].id<<endl; Sleep(10000);*/ }
在这段代码中,我们可以看到定义了一个名为 `Node` 的结构体,然后在文件读入的过程中,每次读取一行数据,将读取的数据存储到 `Node` 结构体的对应成员中,最后将 `Node` 结构体添加到了一个名为 `v` 的 vector 中。
在读取文件的过程中,代码使用了 `while (!F.eof())` 的方式来判断是否到达文件末尾,这种方式并不可靠,因为在读取文件时可能会出现其他错误。建议使用 `while (F >> z.cid >> z.cname >> z.cFprice >>z. cEprice >> z.crepertory >> z.cproducer >> z.cbrand >>z. ctype)` 的方式来判断是否读取成功。
此外,在读取文件时需要注意,文件中的数据类型需要与结构体中对应成员的类型一致,否则会出现数据类型不匹配的问题。
阅读全文