我将在表中插入一行,其中一列需要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
,每当您向表中插入一行时,它就会进行更新?这样,您就不需要手动执行第二个查询。只是插入。