2013-10-27 91 views
2

我有一個表CLIENTclient_id作爲自動增量。 現在我需要填充其他表SERVICE,COSTUMERSSTOCK在同一時間。 問題是我需要在CLIENT中輸入新生成的client_id在其他表中存儲AUTO_INCREMENT列

現在我在做什麼:

  1. 我插入在CLIENT表中的一行。
  2. 從該表中提取MAX(client_id)。
  3. 把它放進別人。

在這裏,我擔心一致性,因爲這一切都取決於MAX(client_id)最近會產生一個。有沒有其他方法可以做到這一點,而不會使風險一致?

幫助請

回答

3

您可以使用

mysql_insert_id() 

它會在最後一個查詢返回自動遞增值實現它。如果最後一個查詢未生成自動增量值,則返回0.

有關更多信息,請考慮查看Php.net manual

編輯:

正如你提到的,MySQL是過時和使用庫MySQLi或PDO會更安全。

Mysqli

程序風格:mysqli_insert_id (mysqli $link)

面向對象的風格:$mysqli->insert_id

PDO

$PDO->lastInsertId()

+0

謝謝親愛的。 MYSQL_ *現在被折舊。使用mysqli_ *或PDO。 – Rahul

相關問題