0
这里是我的表一表读取数据在MySQL中锁定问题。我需要从我获得锁
test(tno,tname),
test2(t2no,tno,...);
test3(t3no,t2no,y,...);
我要到将数据插入到这三张表逐一在一个事务中,使生成的ID在test1中将被引用在test2中等等。但我的问题是多个用户可能一次访问同一页面。那时候,一位研究员的身份证正在引用他人的记录。我的数据库有autocommit = 1。为此,我使用锁定方式先锁定这些表格。然后我尝试了上面的内容,以便用户等待直到先前的细节被存储。尽管它接受数据并保持队列。
它正在工作,但我没有在这些表的任何一个上启用auto_increment(我无法修改它们,因为我没有权限更改数据库)。
我这样
lock table test write,test2 write,test3 write;
mysql> insert into test(tno) select max(tno) from test;
ERROR 1100 (HY000): Table 'test' was not locked with LOCK TABLES.
试图如果我给静态为ID它工作正常价值。其他一切工作正常。