http://dev.mysql.com/tech-resources/articles/hierarchical-data.html嵌套集合SQL問題
LOCK TABLE nested_category WRITE;
SELECT @myLeft := lft FROM nested_category
WHERE name = '2 WAY RADIOS';
UPDATE nested_category SET rgt = rgt + 2 WHERE rgt > @myLeft;
UPDATE nested_category SET lft = lft + 2 WHERE lft > @myLeft;
INSERT INTO nested_category(name, lft, rgt) VALUES('FRS', @myLeft + 1, @myLeft + 2);
UNLOCK TABLES;
我試圖運行在笨通過$)此示例代碼這個 - > DB->查詢(但我得到這個錯誤
A Database Error Occurred
Error Number: 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LOCK TABLE nested_category WRITE; SELECT @myLeft := lft FROM nested_category WHERE name = '2 WAY RADIOS';' at line 3
LOCK TABLE nested_category WRITE; SELECT @myLeft := lft FROM nested_category WHERE name = '2 WAY RADIOS'; UPDATE nested_category SET rgt = rgt + 2 WHERE rgt > @myLeft; UPDATE nested_category SET lft = lft + 2 WHERE lft > @myLeft; INSERT INTO nested_category(name, lft, rgt) VALUES('FRS', @myLeft + 1, @myLeft + 2); UNLOCK TABLES;
我相信數據庫不是問題,因爲我在phpmyadmin中運行這個SQL並且它工作正常。但是當我通過代碼運行時,出現錯誤。這可能是一個代碼錯誤?文件編碼問題? query()函數是否同時支持多個查詢?我很難過。
我看,我會考慮這個查詢拆分功能,如果它的存在。關於事務,我正在使用MyISAM,我相信你需要使用InnoDB來支持事務。 – arvinsim 2010-12-15 01:05:46