mysql主键重复会覆盖还是_mysql如果主键重复了会发生什么情况
首先創(chuàng)建一個person表:
create TABLE `person`(
`id` int not null auto_increment,
`name` VARCHAR(255) ,
`age` int,
PRIMARY key (`id`)
)
同時(shí)打開兩個sql窗口
set autocommit=off;
set @id=-1;
SELECT
auto_increment into @id
FROM
information_schema.`TABLES`
WHERE
table_name = 'person'
AND TABLE_SCHEMA = 'test'; -- 第1步運(yùn)行到這里
INSERT into person(id,name,age) VALUES(@id,'lisi',28); -- 第3步運(yùn)行這里
COMMIT; -- 第5步運(yùn)行這里(第二種,第4步先運(yùn)行這里)
set autocommit=off;
set @id:=-1;
SELECT
auto_increment into @id
FROM
information_schema.`TABLES`
WHERE
table_name = 'person'
AND TABLE_SCHEMA = 'test'; -- 第2步運(yùn)行到這里
INSERT into person(id,name,age) VALUES(@id,'wangwu',28); -- 第4步運(yùn)行這里(第二種,第5步運(yùn)行這里)
COMMIT; -- 第6步運(yùn)行這里
第一種,運(yùn)行到第4步的時(shí)候,報(bào)錯了:
[SQL] INSERT into person(id,name,age) VALUES(@id,'wangwu',28);
[Err] 1205 - Lock wait timeout exceeded; try restarting transaction
第二種,運(yùn)行到第5步的時(shí)候
[SQL] INSERT into person(id,name,age) VALUES(@id,'wangwu',28);
[Err] 1062 - Duplicate entry '9' for key 'PRIMARY'
總結(jié)
以上是生活随笔為你收集整理的mysql主键重复会覆盖还是_mysql如果主键重复了会发生什么情况的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php网站加广告位,HotNews Pr
- 下一篇: 佳能hdr_烧设备无止境不代表随时败家,