2013-03-07 78 views
1

我使用這個查詢檢索自動遞增「invoiceNo」
MySql的併發問題

"SELECT AUTO_INCREMENT FROM information_schema.TABLES 
where TABLE_SCHEMA='DB_NAME' and TABLE_NAME='invoice';" 

的關鍵值,並使用該值作爲外鍵插入invoice_sub表

Table
我使用以下查詢插入發票和invoice_sub表

insert into invoice(netAmount)    
    insert into invoice_sub(PK, itemDescr, itemPrice)<br> 
    PK= AUTO_INCREMENT value 
如果


兩個或多個用戶在同一時間插入

回答

3

不要是這樣做的!

  1. 插入invoice。該ID將自動計算。
  2. 獲取該ID from the last insert
  3. 使用該ID來插入invoice_sub
+0

感謝快速反應,如果另外一個表的內容(例如:支付表的paymentId)也在同一時間被訪問,這最後_insert會插入? paymentId或invoiceNo – imsome1 2013-03-07 12:03:21

+0

使用'mysql_insert_id()'將返回**您的**最後插入的ID。 – 2013-03-07 12:06:56