0
我需要從剛剛發生的更新的自動遞增列中返回值。PDO lastInsertId(); ?從剛剛插入的值的特定列中返回值
基本上我更新用戶與XYZ值:
$stmt->execute();
我需要在這自動遞增的數據庫中ID列中的新記錄值。
PDO lastInsertId();
只是返回最新記錄,並可能在高流量網站上有潛在危險?
我需要從剛剛發生的更新的自動遞增列中返回值。PDO lastInsertId(); ?從剛剛插入的值的特定列中返回值
基本上我更新用戶與XYZ值:
$stmt->execute();
我需要在這自動遞增的數據庫中ID列中的新記錄值。
PDO lastInsertId();
只是返回最新記錄,並可能在高流量網站上有潛在危險?
我希望你使用MySql?
從MySQL站點:
已生成被保持在基於每個連接的基礎上的服務器的ID。這意味着該函數返回給定客戶端的值是爲該客戶端影響AUTO_INCREMENT列的最新語句生成的第一個AUTO_INCREMENT值。即使它們生成自己的AUTO_INCREMENT值,該值也不會受到其他客戶端的影響。此行爲可確保每個客戶端都可以檢索自己的ID,而不必關心其他客戶端的活動,而無需鎖定或事務。
另外:
如果您將使用一個INSERT語句多行,LAST_INSERT_ID()只返回第一個插入的行所產生的價值。
所以它是保存使用,因爲它在連接的基礎上工作。如果您插入多行,您可以將其與PDO的rowCount
方法結合以獲取所有插入的ID。
完美的謝謝你,是的使用mySQL,所以LAST_INSERT_ID()是安全的使用完美。 – odd 2013-02-08 12:51:01