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它工作正常價值。其他一切工作正常。