PHP / MySQL - обновление 2 таблиц в одном запросе - PullRequest
0 голосов
/ 22 апреля 2010

Я хочу узнать больше о SQL, и я хочу обновить таблицы;

$query3 = "INSERT INTO `$table1`, `$table2` ($table1.DISPLAY_NAME, $table1.EMAIL_ACCOUNT, $table2.DISPLAY_NAME, $table2.EMAIL_ACCOUNT) values ('" . DISPLAY_NAME . "', '" . EMAIL_ADDRESS . "', '" . $get['rn'] . "', '" . $email . "')";

Может ли кто-нибудь указать мне верное направление в том, как мне поступить?Текущая ошибка:

В вашем синтаксисе SQL есть ошибка;проверьте руководство, соответствующее вашей версии сервера MySQL, для правильного синтаксиса, чтобы использовать около 'contacts_ACT_Web_Designs (contacts_E_Jackson.DISPLAY_NAME, contacts_E_Jackson' в строке 1

Ответы [ 3 ]

2 голосов
/ 22 апреля 2010

В MуSQL вы можете вставлять записи только в одну таблицу. В то же время mysql_query () не поддерживает множественные запросы. Таким образом, вы должны разделить вставку на два запроса и выполнить их один за другим.

1 голос
/ 22 апреля 2010

Вы уверены, что оператор MySQL INSERT можно вставить в две таблицы? Я никогда не слышал о возможности вставить этот способ с любой базой данных. Вы пробовали два отдельных оператора вставки (по одному для каждой таблицы)?

0 голосов
/ 22 апреля 2010

MySQL не может вставляться в две таблицы одновременно, поэтому вы должны разделить ваш запрос на две отдельные. Если вам нужно, чтобы они оба были вставлены вместе (если один не удастся, другой не будет вставлен), вы можете использовать транзакции .

Обычно вы запускаете транзакцию, запускаете запросы, если что-то идет не так, вы делаете откат, если все идет хорошо, вы фиксируете транзакцию.

Также, насколько я помню, ваш движок должен быть InnoDB, чтобы транзакции были доступны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...