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;
は私がます$ this-> DB->クエリ()を経由してCodeIgniterの中に、このサンプルコードを実行しようとしたが、私は確信している
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