HOW TO SOLVE ERROR 1062 (23000) ?
HOW TO SOLVE ERROR 1062 (23000) ?
CAUSE
a)ERROR 1062 (23000): Duplicate entry '0' for key 'PRIMARY'
b)ERROR 1062 (23000): ALTER TABLE causes auto_increment resequencing, resulting in duplicate entry '1' for key 'PRIMARY'
SOLUTION
a)ALTER TABLE `animals` CHANGE `id` `id` MEDIUMINT UNSIGNED auto_increment;
b)Primary key column values set 1 starting
1.create case table and insert into data
mysql> CREATE TABLE animals (
-> id MEDIUMINT NOT NULL
AUTO_INCREMENT,
-> name CHAR(30) NOT NULL,
-> PRIMARY KEY (id)
-> );
Query OK, 0 rows affected (0.04 sec)
mysql> INSERT INTO animals (name) VALUES
-> ('dog'),('cat'),('penguin'),
-> ('lax'),('whale'),('ostrich');
Query OK, 6 rows affected (0.01 sec)
Records: 6 Duplicates: 0 Warnings: 0
mysql> SELECT * FROM animals;
+----+---------+
| id | name |
+----+---------+
| 1 | dog |
| 2 | cat |
| 3 | penguin |
| 4 | lax |
| 5 | whale |
| 6 | ostrich |
+----+---------+
6 rows in set (0.00 sec)
1.1 show create table statement
mysql>
show create table
animals ;
+---------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+---------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| animals | CREATE TABLE `animals` (
`id` mediumint(9) NOT NULL
AUTO_INCREMENT
,
`name` char(30) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB
AUTO_INCREMENT=7
DEFAULT CHARSET=latin1 |
+---------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
1.2 show next Auto_increment value
mysql>
show table status
like 'animals' \G
*************************** 1. row ***************************
Name: animals
Engine: InnoDB
Version: 10
Row_format: Compact
Rows: 6
Avg_row_length: 2730
Data_length: 16384
Max_data_length: 0
Index_length: 0
Data_free: 0
Auto_increment: 7
Create_time: 2016-03-24 11:19:03
Update_time: NULL
Check_time: NULL
Collation: latin1_swedish_ci
Checksum: NULL
Create_options:
Comment:
1 row in set (0.00 sec)
2.DDL and change id column,table definition is changed.
mysql> ALTER TABLE `animals` CHANGE `id` `id` INT;
Query OK, 6 rows affected (0.09 sec)
Records: 6 Duplicates: 0 Warnings: 0
mysql> show create table animals ;
+---------+-------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+---------+-------------------------------------------------------------------------------------------------------------------------------------------------------+
| animals | CREATE TABLE `animals` (
`id` int(11) NOT NULL
DEFAULT '0',
`name` char(30) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
+---------+-------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
2.1 DDL alter and Auto_increment is change to NULL
mysql> show table status like 'animals' \G
*************************** 1. row ***************************
Name: animals
Engine: InnoDB
Version: 10
Row_format: Compact
Rows: 6
Avg_row_length: 2730
Data_length: 16384
Max_data_length: 0
Index_length: 0
Data_free: 0
Auto_increment: NULL
Create_time: 2016-03-24 11:23:20
Update_time: NULL
Check_time: NULL
Collation: latin1_swedish_ci
Checksum: NULL
Create_options:
Comment:
1 row in set (0.00 sec)
mysql> INSERT INTO animals (name) VALUES('doudou01');
Query OK, 1 row affected (0.05 sec)
mysql> SELECT * FROM animals;
+----+----------+
| id | name |
+----+----------+
| 0 | doudou01 |
| 1 | dog |
| 2 | cat |
| 3 | penguin |
| 4 | lax |
| 5 | whale |
| 6 | ostrich |
+----+----------+
7 rows in set (0.00 sec)
3.ERROR 1062 (23000) and solve problem using 'UNSIGNED'
mysql> INSERT INTO animals (name) VALUES('doudou02');
ERROR 1062 (23000): Duplicate entry '0' for key 'PRIMARY'
mysql> ALTER TABLE `animals` CHANGE `id` `id` MEDIUMINT
UNSIGNED auto_increment;
ERROR 1062 (23000): ALTER TABLE causes
auto_increment resequencing
, resulting in duplicate entry
'1' for key 'PRIMARY'
## id=0 is not accord with auto_increment resequencing,and auto_increment default 1 .
mysql> select LAST_INSERT_ID() ;
+------------------+
| LAST_INSERT_ID() |
+------------------+
| 1 |
+------------------+
1 row in set (0.00 sec)
mysql> SELECT * FROM animals;
+----+----------+
| id | name |
+----+----------+
| 0 | doudou01 |
| 1 | dog |
| 2 | cat |
| 3 | penguin |
| 4 | lax |
| 5 | whale |
| 6 | ostrich |
+----+----------+
7 rows in set (0.00 sec)
mysql> INSERT INTO animals (id,name) VALUES(7,'doudou01');
Query OK, 1 row affected (0.01 sec)
3.1 set id column is accord with auto_increment resequencing
mysql> delete from animals where
id=0;
Query OK, 1 row affected (0.01 sec)
3.2 solve 'ERROR 1062 (23000): Duplicate entry '0' for key 'PRIMARY''
mysql>
ALTER TABLE `animals` CHANGE `id` `id` MEDIUMINT UNSIGNED auto_increment;
Query OK, 7 rows affected (0.16 sec)
Records: 7 Duplicates: 0 Warnings: 0
mysql> SELECT * FROM animals;
+----+----------+
| id | name |
+----+----------+
| 1 | dog |
| 2 | cat |
| 3 | penguin |
| 4 | lax |
| 5 | whale |
| 6 | ostrich |
| 7 | doudou01 |
+----+----------+
7 rows in set (0.01 sec)
mysql> show create table animals ;
+---------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+---------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| animals | CREATE TABLE `animals` (
`id` mediumint(8) unsigned NOT NULL
AUTO_INCREMENT,
`name` char(30) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=latin1 |
+---------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
mysql>
mysql> show table status like 'animals' \G
*************************** 1. row ***************************
Name: animals
Engine: InnoDB
Version: 10
Row_format: Compact
Rows: 7
Avg_row_length: 2340
Data_length: 16384
Max_data_length: 0
Index_length: 0
Data_free: 0
Auto_increment: 8
Create_time: 2016-03-24 11:29:52
Update_time: NULL
Check_time: NULL
Collation: latin1_swedish_ci
Checksum: NULL
Create_options:
Comment:
1 row in set (0.00 sec)
mysql> select LAST_INSERT_ID() ;
+------------------+
| LAST_INSERT_ID() |
+------------------+
| 1 |
+------------------+
1 row in set (0.00 sec)
mysql> INSERT INTO animals (name) VALUES('doudou02');
Query OK, 1 row affected (0.00 sec)
mysql> select LAST_INSERT_ID() ;
+------------------+
| LAST_INSERT_ID() |
+------------------+
| 8 |
+------------------+
1 row in set (0.00 sec)
mysql> select * from animals ;
+----+----------+
| id | name |
+----+----------+
| 1 | dog |
| 2 | cat |
| 3 | penguin |
| 4 | lax |
| 5 | whale |
| 6 | ostrich |
| 7 | doudou01 |
| 8 | doudou02 |
+----+----------+
8 rows in set (0.00 sec)
4.Problem is solved.
########################################################################################
版權所有,文章允許轉載,但必須以連結方式註明源地址,否則追究法律責任!【QQ交流群:53993419】
QQ:14040928 E-mail:dbadoudou@163.com
本文連結: http://blog.itpub.net/26442936/viewspace-2063150/
########################################################################################
--------------------------------------------------------------------------------------------------------------------------------------
5.case scripts
CREATE TABLE animals (
id MEDIUMINT NOT NULL AUTO_INCREMENT,
name CHAR(30) NOT NULL,
PRIMARY KEY (id)
);
INSERT INTO animals (name) VALUES
('dog'),('cat'),('penguin'),
('lax'),('whale'),('ostrich');
SELECT * FROM animals;
show create table animals ;
show table status like 'animals' \G
ALTER TABLE `animals` CHANGE `id` `id` INT;
show create table animals ;
show table status like 'animals' \G
INSERT INTO animals (name) VALUES('doudou01');
INSERT INTO animals (name) VALUES('doudou02');
ALTER TABLE `animals` CHANGE `id` `id` MEDIUMINT UNSIGNED auto_increment;
select LAST_INSERT_ID() ;
SELECT * FROM animals;
show create table animals ;
show table status like 'animals' \G
INSERT INTO animals (id,name) VALUES(7,'doudou01');
delete from animals where id=0;
ALTER TABLE `animals` CHANGE `id` `id` MEDIUMINT UNSIGNED auto_increment;
show create table animals ;
show table status like 'animals' \G
INSERT INTO animals (name) VALUES('doudou02');
select LAST_INSERT_ID() ;
INSERT INTO animals (name) VALUES('doudou02');
SELECT * FROM animals;
--------------------------------------------------------------------------------------------------------------------------------------------------
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26442936/viewspace-2063150/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ERROR 1062 (23000): Duplicate entry for key 'PRIMARY'Error
- ERROR 1062 (23000): Duplicate entry '0' for key 'PRIMARY'Error
- ERROR 1130: Host ***.***.***.*** is not allowed to connect to this MySQL serverERROR 1062 (23000):ErrorMySqlServer
- 從ERROR 1062 (23000) at line Duplicate entry 'R01' for key 'PRIMARY' 能看出什麼Error
- 【Mysql】Slave_SQL_Running: No:Last_Error: Error :1032/1062MySqlASTError
- How to fix Rosetta stone error 2123 -- "This was an error in the application"ROSErrorAPP
- Export and import right application or execute import imp-00010 error solveExportImportAPPError
- 1062 最簡分數
- 2 ways to solve ASM1 on node 2ASM
- What problems does Google Wave solve?(轉載)Go
- 1062. 計算曼哈頓距離
- How to Disable Asynch_io on HP to Avoid Ioctl Async_config ErrorError
- How to resolve ORA-19706 error when select from dblinkError
- 問了23000名開發者,得出這份Javascript年終盤點JavaScript
- How to Find Out How Much Space an Index is UsingIndex
- How the web worksWeb
- How Google WorksGo
- How Oracle Works!Oracle
- how to switch workspace
- How to Study OracleOracle
- how to use typeset?
- HOW TO USER UNZIP
- How to Quiesce a DatabaseUIDatabase
- How to find dependency
- [譯] WebAssembly: How and whyWeb
- How to Build a Cybersecurity CareerUI
- How restore CBO statisticsREST
- how to use coffee script
- How do you pronounce IT?
- How to Perform a Healthcheck on the DatabaseORMDatabase
- How to enable the flashback database:Database
- how to clean failed crsAI
- How to enable trace in OracleOracle
- How to be a professional IT guy
- how to remove datafile pathREM
- In Oracle,How to use dumpOracle
- html:how to make love?HTML
- How a Database Is Mounted (293)Database