как получить последнюю вставку в две таблицы одновременно

Вот запрос, который я пробовал,

$result = "INSERT INTO task_assign(assigned_to,assigned_by,end_on,task_title,task_desc,priority,task_status,history_assigned) VALUES('$assignTo','$assignBy','$endOn','$title','$description','$priority','$status','$assignTo')";

mysql_query("INSERT INTO notification(title,description,priority,category_id,assignment_type,sender_id,receiver_id,date_time)
VALUES('$title', '$description', '$priority', '$category_id', '1', $assigassignTonBy, $assignTo, NOW())
");
//this return only task_assign
echo $rowId = mysql_insert_id();

Как я могу получить последний идентификатор вставки из таблицы?

-1

Решение

1) Убедитесь, что есть столбец «АВТОМАТИЧЕСКОЕ УВЕЛИЧЕНИЕ» с «ПЕРВИЧНЫМ КЛЮЧОМ».

2) mysql_query был объявлен устаревшим Вы можете использовать объектно-ориентированный подход PDO или подготовленный оператор Mysqli. Ты можешь проверить Вот тоже.

3) Вы можете использовать mysqli_insert_id() ИЛИ ЖЕ PDO::lastInsertId(),

0

Другие решения

Вот несколько идей, чтобы попробовать.

  1. Запустите первый INSERT, а затем сразу после этого вызов mysql_insert_id (), чтобы получить идентификатор task_assign. Затем выполните те же шаги для следующего запроса. Запустите запрос и сразу же вызовите метод mysql_insert_id (). Если в каждой таблице установлено AUTO_INCREMENT, вы должны получить идентификаторы, которые можно назначить отдельным переменным.

    Ресурс: http://php.net/manual/en/function.mysql-insert-id.php

    Обязательно ознакомьтесь с разделами «Возвращаемые значения» и «Примечания» на этой странице.

  2. В качестве альтернативы, вы можете создать больше запросов для получения каждого идентификатора из двух таблиц (при условии, что вы не изменили первичный ключ в той или иной точке). Например:

    SELECT task_assignID FROM task_assign ORDER BY task_assignID DESC
    SELECT notificationID FROM notification ORDER BY notificationID DESC
    
0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector