當我在PHP中對MySQL數據庫執行插入語句時,是否有辦法返回自動生成的時間戳,還是需要單獨調用數據庫來檢索數據?在插入時返回MySQL時間戳
編輯:我忘了MySQL不使用時代日期。我決定只使用一個自動增量整數和一個存儲過程。
當我在PHP中對MySQL數據庫執行插入語句時,是否有辦法返回自動生成的時間戳,還是需要單獨調用數據庫來檢索數據?在插入時返回MySQL時間戳
編輯:我忘了MySQL不使用時代日期。我決定只使用一個自動增量整數和一個存儲過程。
您可以返回insert
後last inserted id
,如:
<?php
$sql=mysql_query("INSERT INTO <TABLE> VALUES (?,?)");
return mysql_insert_id();
?>
這將以常識運行。但是,如果有波動並且需要確切的時間,那麼「現在」可能晚於或甚至早於剛剛插入的數據庫行中的那個時間。這可能是由於文件服務器和/或數據庫服務器上的繁重工作負載和/或流量造成的。但是,儘管如此;對於常見的人機交互,這不會構成任何威脅:) – 2013-03-02 15:48:07
正如我以一般的方式思考它,所以我改變了我的答案,並將'返回最後一個插入ID'作爲唯一性。 – 2013-03-02 15:53:46
使用多語句查詢。
你是什麼意思* autoincremented timestamp *?這可以使用存儲過程完成。 – 2013-03-02 15:41:41
沒有。您最多可以使用last_insert_id()取回新記錄的ID,然後您可以在select中使用該ID來獲取該時間戳。 – 2013-03-02 15:43:55
時間戳是PK,它的默認值是CURRENT_TIMESTAMP。爲了儘量減少數據庫查詢,我希望能夠在不查詢數據庫的情況下返回它的值。 – spuy767 2013-03-02 15:45:05