为什么给mysql错误ER_TABLE_NOT_LOCKED而我只是锁定了表?
我有一些代码在数据库中的表上执行锁表操作 锁定后,我从同一个表中进行选择。My mysql API接口出现以下错误: mysqlsel/db server: Table 'Mytable' was not locked with LOCK TABLES mysqlsel/db服务器:表“Mytable”未使用锁表锁定 根据一些谷歌搜索,这会传递到错误代码:ER_TABLE_NOT_LOCKED为什么给mysql错误ER_TABLE_NOT_LOCKED而我只是锁定了表?,mysql,locking,Mysql,Locking,我有一些代码在数据库中的表上执行锁表操作 锁定后,我从同一个表中进行选择。My mysql API接口出现以下错误: mysqlsel/db server: Table 'Mytable' was not locked with LOCK TABLES mysqlsel/db服务器:表“Mytable”未使用锁表锁定 根据一些谷歌搜索,这会传递到错误代码:ER_TABLE_NOT_LOCKED 为什么这段代码会产生这个错误?如果我根本不锁定它,我就不会期望它出错,如果我也锁定它,我当然也不会期望
为什么这段代码会产生这个错误?如果我根本不锁定它,我就不会期望它出错,如果我也锁定它,我当然也不会期望它出错。我想我解决了自己的问题 需要锁的会话必须 获取它在中需要的所有锁 单个
锁表语句。虽然
由此获得的锁被保持,即
会话只能访问锁定的
桌子。例如,在下面的
语句序列,一个错误
在尝试访问t2时发生
因为它没有被锁在锁中
表
语句:
我在单独的lock语句中锁定了多个表
因此,如果我这样做:
锁定表Mytable写入
锁定表Mytable2写入
。。。随后的从Mytable中选择可能会触发此错误…您在说什么代码?在你的问题中我没有看到任何代码。代码是一个数据库抽象层,在这里显示有点复杂(大)。但是有一个函数调用SQL“LOCK TABLE”命令。