繁体   English   中英

MYSQL(Percona)无法从存储引擎读取自动增量值

[英]MYSQL (Percona) Failed to read auto-increment value from storage engine

尝试执行以下操作后,我从MySQL(Percona)收到“无法从存储引擎读取自动增量值”错误:

 LOAD DATA LOCAL INFILE

我一直在尝试在stackoverflow和google上找到答案,但是答案并未解决我的情况下的问题/错误。

下面显示Auto_increment为1:

show table status like 'my_table_name';

将自动增量值设置为下一个值或设置为1并不能解决该问题:

ALTER TABLE `my_table_name`  AUTO_INCREMENT = 1;

删除自动递增的id列并重新创建它并不能解决问题。

删除表并重新创建它并不能解决问题。

删除数据库并重新创建它并不能解决问题。

销毁所有数据并重建我的docker开发环境并不能解决问题。

检查表扩展给了“确定”:

 CHECK TABLE distributor_users EXTENDED;

它是表中唯一的自动递增值。

这是我用来创建表的方法:

 CREATE TABLE `my_table_name` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `x0` varchar(191) DEFAULT NULL,
    `x1` varchar(4) DEFAULT NULL,
    `x2` varchar(191) DEFAULT NULL,
    `x3` varchar(191) DEFAULT NULL,
    `x4` varchar(191) DEFAULT NULL,
    `x5` varchar(191) DEFAULT NULL,
    `x6` DATE DEFAULT NULL,
    `x7` int(10) DEFAULT NULL,
   PRIMARY KEY (`id`),
   UNIQUE KEY `x0` (`x0`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

会是什么呢? 任何开始寻找的线索都将受到欢迎!

我自己添加到查询中来解决它:

 SET id = NULL

现在,新查询如下所示:

 LOAD DATA LOCAL INFILE '$csv_file_location' INTO TABLE $destination_table
 FIELDS TERMINATED BY ','
 ENCLOSED BY '\"'
 IGNORE 1 LINES
 (x0,x1,x2,x3,x4,x5,x6,x7)
 SET id = NULL;

虽然我的查询以前没有它就可以工作。

MySQL试图将csv文件中的第一列放入数据库的第一列中。 将具有auto_increment的列设置为NULL可以解决该问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM