解決方案:使用函式 last_insert_id()
用法: 如檢視最新一次自增得到的id: select last_insert_id();
問題是解決了,但是會不會存在乙個問題:我先使用自增主鍵的sql語句插入了值,然後就呼叫 last_insert_id()這個函式,但是在這兩步之間會不會有其他使用者執行另乙個有關主鍵的語句導致我的last_insert_id()得到乙個錯誤的值呢?(尤其時當資料庫被頻繁使用時)那麼操作的時候就需要鎖住資料庫了?
但事實上,last_insert_id()不會出現這種錯誤。他是返回當前使用者(client)的最近一次使用auto_increment列返回的主鍵的值,不會受其他使用者的影響。
參考:stackoverflow
mysql自動增長後插入資料
mysql資料庫表設定為id自動增長後,插入資料的sql語句。指定id 錯誤 insert into test values test 這樣的形式會產生錯誤,資訊大致說資料列不夠。column count doesn t match value count at row 1 如果,自己填寫id也可以...
MySql 主鍵自動增長
mysql alter table user modify id integer auto increment query ok,1 row affected 0.28 sec records 1 duplicates 0 warnings 0 給主鍵增加乙個自增的功能 mysql create d...
MySql 主鍵自動增長
建立資料庫,建立表。mysql create database ssh2 query ok,1 row affected 0.04 sec mysql use ssh2 database changed mysql create table user id integer primary key,f...