mysql 裡邊,自增長id,寫資料時,是先把資料寫進去,然後再給這條資料一個id,還是先給id,然後再把要插入的資料寫進去
伊谢尔伦
伊谢尔伦 2017-05-18 10:51:19
0
2
592

mysql 裡邊,自動增長的id , 現在如果往裡邊寫一條數據,裡邊的具體過程,是先把數據寫進去,然後再給這條數據一個id,還是先給id,然後再把要插入的資料寫進去
。好奇一下

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回覆(2)
过去多啦不再A梦

MYSQL已經算了下次要填的自增ID了

如下圖.資料庫有62行,自增值到了63.

未指定ID則MYSQL自己填入,如果填入小於自動遞增,則報錯!若填入大於自動遞增,則自動遞增變成填入數+1

取得插入ID:
MYSQLI : mysqli_insert_id方法
PDO : PDO::lastInsertId方法
MYSQL : mysql_insert_id方法

其中MYSQL方式連接資料庫已棄用,可能在未來版本移除

下面這條SQL可以實現你要的需求,但是我不確定這麼幹好不好,還有資料結構設定成這樣,真的好嗎?

INSERT INTO sta_log_fun(`FCNAME`,`STATUS`) VALUES('WOQU',(SELECT auto_increment FROM information_schema.`TABLES` WHERE TABLE_SCHEMA='test2' AND TABLE_NAME='sta_log_fun'));

效果如下圖:

洪涛

沒去研究過,但我猜想是不是跟我們手動插入資料一樣,是一同寫入的。取得目前表id的最大值,加上設定的自增值,放入資料一同插入。 。 。 。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板