mysql在相同的mysql插入中使用lastInsertID



我将在表中插入一行,其中一列需要lastInsertID来附加另一列。我们正在根据记录ID构建文件名。不是对新插入的记录执行第二个update,而是可以获得ID列的值并在同一个mysql插入中附加到它吗?

使用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)) ;

但是有没有一种方法可以将INSERT和UPDATE合并到一个语句中呢?

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

为什么不创建一个trigger,每当您向表中插入一行时,它就会进行更新?这样,您就不需要手动执行第二个查询。只是插入。

最新更新