文章詳情頁
mysql 里邊,自增長id,寫數據時,是先把數據寫進去,然后再給這條數據一個id,還是先給id,然后再把要插入的數據寫進去
瀏覽:68日期:2022-06-12 17:49:45
問題描述
mysql 里邊,自動增長的id , 現在如果往里邊寫一條數據,里邊的具體過程,是先把數據寫進去,然后再給這條數據一個id,還是先給id,然后再把要插入的數據寫進去。好奇一下
問題解答
回答1: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的最大值,加上設定的自增值,放入數據一同插入。。。。
排行榜
