簡體   English   中英

如何在MySQL中的兩個相關表中同時添加值?

[英]How to add values simultaneously to the two related tables in MySQL?

我有這兩個表: 在此處輸入圖片說明

我也有一個動態表格,其中包含表格,用戶可以添加行,並且來自表格的數據將以tblcamealsformdetails插入,但是插入tblcamealsformdetails的基礎是tblcamealsform的id。 如何將所有值同時插入到兩個表中?

這是我的表格: 膳食形式

您將首先在表tblcamealsform中輸入數據。 您從該查詢插入ID。 然后,您將使用該ID在表tblcamealsformdetails中插入其余數據以及插入ID。

因此,您不能同時執行此操作。 您首先添加依賴項。

要從上一次執行的查詢中獲取插入ID,您將需要mysql_insert_id()。 http://php.net/manual/en/function.mysql-insert-id.php

在回答評論時,如果多個用戶同時使用該表格會發生什么:

由於您在腳本頂部打開了一個mysql連接,這將導致唯一的連接指針,並且您調用的所有mysql函數都會自動引用該指針,我認為mysql_insert_id()將始終引用當前連接執行的最新查詢。 因此,另一個用戶的另一個線程不會對此造成干擾。

請注意,我對此不是100%肯定。

無論如何:我已經使用了大約10年,其中有些包括高流量網站,使用該方法我從未遇到過任何問題,因此,我認為您可以放心使用它。

對此有一個例外:必須始終在執行想要ID的查詢后立即調用mysql_insert_id()。 如果在此期間執行任何其他查詢(例如,調用另一個執行插入查詢的對象的方法),則mysql_insert_id()將返回該查詢的ID。 這是我過去犯的錯誤,您必須意識到。

我想用LAST_INSERT_ID指向您:

當執行多行插入時,LAST_INSERT_ID()將返回插入的第一行(而不是最后一行)的值。

暫無
暫無

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

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