mysql主键重复会覆盖还是_mysql如果主键重复了会发生什么情况
首先創建一個person表:
create TABLE `person`(
`id` int not null auto_increment,
`name` VARCHAR(255) ,
`age` int,
PRIMARY key (`id`)
)
同時打開兩個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步運行到這里
INSERT into person(id,name,age) VALUES(@id,'lisi',28); -- 第3步運行這里
COMMIT; -- 第5步運行這里(第二種,第4步先運行這里)
set autocommit=off;
set @id:=-1;
SELECT
auto_increment into @id
FROM
information_schema.`TABLES`
WHERE
table_name = 'person'
AND TABLE_SCHEMA = 'test'; -- 第2步運行到這里
INSERT into person(id,name,age) VALUES(@id,'wangwu',28); -- 第4步運行這里(第二種,第5步運行這里)
COMMIT; -- 第6步運行這里
第一種,運行到第4步的時候,報錯了:
[SQL] INSERT into person(id,name,age) VALUES(@id,'wangwu',28);
[Err] 1205 - Lock wait timeout exceeded; try restarting transaction
第二種,運行到第5步的時候
[SQL] INSERT into person(id,name,age) VALUES(@id,'wangwu',28);
[Err] 1062 - Duplicate entry '9' for key 'PRIMARY'
總結
以上是生活随笔為你收集整理的mysql主键重复会覆盖还是_mysql如果主键重复了会发生什么情况的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php网站加广告位,HotNews Pr
- 下一篇: mysql 默认时间字段 1067,my