欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

mysql插入沒成功但是自增

謝彥文2年前9瀏覽0評論

有時候我們會遇到這樣一個問題:執行mysql插入語句,語句執行成功,但是數據卻沒有被插入進去。這是因為我們在表中定義了自增主鍵,但是沒有提供插入數據時需要的主鍵值。

比如我們在表中定義了一個自增主鍵:

CREATE TABLE `test` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(20) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

如果我們執行下面這個插入語句:

INSERT INTO test(name) VALUES('張三');

語句執行成功了,但是再執行下面這個查詢語句:

SELECT * FROM test;

發現沒有插入成功。

這是因為我們沒有提供插入時需要的主鍵值,而自增的主鍵值又是由mysql自動生成的。在這種情況下,我們需要使用mysql的LAST_INSERT_ID()函數來獲取剛剛插入進去的數據自增主鍵的值,并將其更新到表中。

修改插入語句為:

INSERT INTO test(id,name) VALUES(NULL,'張三');

在插入成功后執行下面這個語句即可更新表中自增主鍵的值:

UPDATE test SET id=LAST_INSERT_ID() where name='張三';

以上就是這個問題的解決方法,希望對大家有所幫助。