mysql используя lastInsertID в той же mysql вставке? - PullRequest
0 голосов
/ 17 марта 2020

Я вставляю одну строку в таблицу, хотя один из столбцов нуждается в lastInsertID для добавления другого столбца. Мы строим имена файлов из идентификаторов записей. Вместо того, чтобы делать 2-й update для вновь вставленной записи, возможно ли получить значение столбца ID и добавить к нему тот же mysql insert?

Используя PHP, в настоящее время я я делаю:

$query = "INSERT INTO table (id,idName) values (null,?)" ;
list($lastID,$inError,$inResult) = dbInsert($query,array("")) ;

Then:
$appString = $lastID . "-S1001.pdf" ;
$query = "UPDATE table SET idName=? WHERE id=?" ;
list($upCount,$upError) = dbUpdate($query,array($appString,$lastID)) ;

Но есть ли способ объединить ВСТАВКУ и ОБНОВЛЕНИЕ в один документ?

$apString = "-S1001.pdf" ;
$query = "INSERT INTO table (id,idName) values (null,id.$appString)" ;
list($lastID,$inError,$inResult) = dbInsert($query,array()) ;

1 Ответ

0 голосов
/ 17 марта 2020

Почему бы не создать trigger, который будет обновлять каждый раз, когда вы вставляете строку в таблицу? Таким образом, вам не нужно вручную делать второй запрос. Просто вставка.

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