1つのクエリで2つのデータベーステーブルにデータを挿入する方法を探していました。1つが失敗しても、どちらも保存されません(孤立したデータは必要ありません)。BEGIN ... COMMITを使用してこれを実行する方法を示すStackOverflowの質問に遭遇しましたが、それは単に機能していません。
これが私が設定したクエリです:
$query = "BEGIN;
INSERT INTO content_subpages (title, url_referer) VALUES ('$pagetitle','$url_referer');
INSERT INTO ccm_main_menu (sub_item, sub_item_link,sub_item_sort_order) VALUES ('$pagetitle','$url_referer','$newsort');
COMMIT;";
mysql_query($query) or die (mysql_error());
次のエラーが発生します。
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 'INSERT INTO content_subpages (title, url_referer) VALUES ('TESTING','testing'); ' at line 2
BEGIN ... COMMITを使用するのはこれが初めてなので、何か間違ったことをしている可能性はありますが、私が言及したStack Overflowの質問に対する選択された回答(http:// stackoverflow.com/questions/12649706/mysql-insert-into-multiple-tables-in-same-query-with-begincommit)が、それでも機能しません。
BEGIN ... COMMITを使用せずに、「オールオアナッシング」の複数のINSERT結果を簡単に達成できれば、それは許容できる解決策になります。
前もって感謝します