您好,所以我有一个表,名为tblcontactlist,并有5列(使用ContactID名称,联系人姓名,contactEmail,contactNumber,hashed_id),这是我工作的查询PDO lastInsertId在同一个查询
$query = "INSERT INTO tblcontactlist (contactName, contactEmail, contactNumber) VALUES (:cname, :cea, :cnum)";
$stmt = $dbc->prepare($query);
$stmt->bindParam(':cname', $contactName);
$stmt->bindParam(':cea', $emailAdd);
$stmt->bindParam(':cnum', $contactNumber);
$stmt->execute();
$last_id = $dbc->lastInsertId('contactID');
$hashed_id = sha1($last_id);
$query2 = "UPDATE tblcontactlist SET hashed_id=:hid WHERE contactID=:cid";
$stmt2 = $dbc->prepare($query2);
$stmt2->bindParam(':hid', $hashed_id);
$stmt2->bindParam(':cid', $last_id);
$stmt2->execute();
这是什么基本上没有被插入新记录,然后使用hashed_id列上的散列ID更新最新插入的记录。有没有适当的方法来做到这一点?我的意思是代码更短或代码更好。谢谢!
手段旁边插入要转换它更新?或插入后,你想获得最后插入的ID,然后做一些更新的东西? –
插入记录时,hashed_id也会更新并插入,而不执行更新查询。那可能吗? – FewFlyBy
不能理解抱歉。通过在代码中评论来指出你的问题。 –