2010-06-11 64 views
1

我試圖插入數據到InnoDB MySQL表中使用別名鎖定,我不能爲我的生活得到它的工作!MySQL插入到鎖定的別名表

以下工作:

LOCK TABLES Problems p1 WRITE, Problems p2 WRITE, Server READ; 
SELECT * FROM Problems p1; 
UNLOCK TABLES; 

但嘗試做插入和它不工作(它聲稱有一個語法錯誤一輪我插入「P1」):

LOCK TABLES Problems p1 WRITE, Problems p2 WRITE, Server READ; 
INSERT INTO Problems p1 (SomeCol) VALUES(43534); 
UNLOCK TABLES; 

請幫忙!

+0

看起來您正試圖重新定義INSERT命令中的別名。當您引用別名表時,只需使用別名即可。我不知道你是否可以實際使用別名進行INSERT,但是可以嘗試使用INSERT:'INSERT INTO p1(SomeCol)VALUES(43534);' – 2015-11-09 18:00:57

回答

0

使用INSERT INTO Problems(SomeCol)VALUES(43534);
沒有P1 ...

+0

感謝您的建議,但我已經試過了。由於鎖是使用別名完成的(我需要這樣做),並且INSERT根本沒有引用別名,所以你會得到一個錯誤'Table'Problems'沒有被LOCK TABLES鎖定' – Whitey 2010-06-11 21:42:02

0

只是面臨着同樣的問題,不幸的是INSERT INTO table_name [AS alias] VALUES ...在MySQL

2

不支持就鎖定這兩個別名和非別名表 ES:LOCK TABLES問題寫,問題P1 WRITE ,問題p2 WRITE,服務器讀取;