簡體   English   中英

mysql和php自動增加id並插入數據

[英]mysql & php auto increment id and insert data

我的sql數據庫中有兩個數據庫表。 第一個是個人表格,另一個是付款明細。 個人表中的自動付款編號用作付款明細的外鍵。 我必須一次將數據插入到此表中的兩個表中。通常我應該將數據插入到個人表中,並獲取此行的自動增量ID,然后將數據插入到支付數據表中。 但是我有一些問題。

  • 我無法使用sql SELECT查詢輕松獲得自動增量ID。因為有更多的列需要通過WHERE進行檢查。
  • 獲取最后一個插入ID並不是完美的方法。 因為其他用戶可以在我訪問時插入其他人的數據,並且收到錯誤的ID。

我對此一無所知。 幫我 !

我真的不知道您的結構,但是最好的最好方法是使用事務。 鏈接: http : //dev.mysql.com/doc/refman/5.7/en/commit.html

START TRANSACTION;
INSERT /* Your insertion into personalTable */
SELECT @lastId:=LAST_INSERT_ID();
INSERT INTO paymentTable SET (user_id) VALUES (@lastId);
COMMIT;

另外,您需要將“事務隔離級別”設置為“ SERIALIZABLE”,以防止發生任何事務違規。

UPD。 謝謝@Drew讓我更深入。

暫無
暫無

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

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