簡體   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