Mysql запрос вставки нескольких таблиц с одинаковым идентификатором - PullRequest
0 голосов
/ 08 марта 2011

У меня есть две таблицы в моей базе данных mysql, и когда я добавляю новый пост (с помощью PHP), в нем создается новая строка:

-Post(ID,title,body)

-pictures(id,id_post,path_picture)

Как я могу добиться, чтобы передать post ID относительному pictures id_post?

Ответы [ 3 ]

1 голос
/ 08 марта 2011

После того, как вы вставите сообщение, вы можете позвонить last_insert_id, чтобы получить идентификатор, который получил сообщение.Смотри http://php.net/manual/en/function.mysql-insert-id.php

0 голосов
/ 08 марта 2011

В зависимости от того, какую библиотеку базы данных вы используете, вы можете узнать идентификатор вставленной строки.

Например, с помощью библиотеки mysql, предоставляемой PHP, вы запускаете mysql_insert_id () сразу после запроса на вставку записи.запустить.

http://php.net/manual/en/function.mysql-insert-id.php

$inserted = mysql_query( $insert_sql );
if ( $inserted )
{
     $Post_inserted_id = mysql_insert_id();
}
0 голосов
/ 08 марта 2011

Вы все равно не можете вставить в две таблицы, используя DML.

Для повторного чтения назначенного insert_id выполните вставку, затем вызовите mysql_insert_id ()

Если вы не хотите опрашивать insert_id из своего PHP-кода, вам нужно создать хранимую процедуру.

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