簡體   English   中英

在一個表中多次使用一個表的ID

[英]using an ID of one table more than once into another table

我正在從事這種電影商店應用程序的工作,在該應用程序中我需要以VHS和DVD副本的形式記錄新的電影條目,例如我有5個新的DVD副本和3個新的VHS副本,比如說電影蝙蝠俠。將副本記錄在膠片表和副本表中,以便以后可以搜索商店中蝙蝠俠電影的副本(VHS和DVD)。給定的任務。

$sql2="INSERT INTO copies (film_id,format,film_c) VALUES (last_insert_id(),'VHS','$vhs')"; mysql_query($sql2);
$sql3="INSERT INTO copies (film_id,format,film_c) VALUES (last_insert_id(),'DVD','$dvd')"; mysql_query($sql3);

這是我最初寫的。但是它在VHS部分工作得很好,但是當涉及到DVD復制的第二次查詢時,該查詢將獲取Copies表而不是Films表的last_insert_id()。

嘗試將先前的ID保存在php變量中。

$id = mysql_insert_id();
$sql2="INSERT INTO copies (film_id,format,film_c) VALUES ($id,'VHS','$vhs')"; mysql_query($sql2);
$sql3="INSERT INTO copies (film_id,format,film_c) VALUES ($id,'DVD','$dvd')"; mysql_query($sql3);

在查詢之間,使用mysql_insert_id()將ID保留在腳本中

這是因為last_insert_id()從最后一個insert語句獲取ID。 第一次插入時,它會導致last_insert_id()的值更改:有關詳細信息,請參見http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_last-insert-id有關如何使用last_insert_id()的信息。 從數據庫中檢索值並將其保存在本地或將其存儲在sql變量中可能會有所幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM