gpt4 book ai didi

mysql - 使用归档引擎 "duplicate key"错误插入到 mysql 表中

转载 作者:行者123 更新时间:2023-11-29 00:27:55 25 4
gpt4 key购买 nike

我正在尝试使用 mysql 存档引擎存档一些文件。我正在使用此查询来插入文件内容:

insert into test_table (id,arch) values (123,'FILE_CONTENT')

插入 2 条记录后,我从 mysql 收到表中不存在的键的“重复键”错误。我检查了 5 次,但记录不存在。我为重复的 id 选择了 count(*),结果是 0。

我用 innodb 引擎检查了相同的代码,它工作正常。谁能告诉我存档引擎有什么问题?

编辑:

我的表信息是

CREATE TABLE `test_table` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`arch` mediumtext,
PRIMARY KEY (`id`)
) ENGINE=ARCHIVE AUTO_INCREMENT=100175977 DEFAULT CHARSET=utf8mb4;

最佳答案

看来您在 ARCHIVE 引擎中发现了一个错误。一旦您尝试插入一个记录,该记录的值小于表的 AUTO_INCREMENT 属性的 AUTO_INCREMENT 列。

这很好用:

CREATE TABLE test_table1 (
id INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY (id)
) ENGINE=ARCHIVE AUTO_INCREMENT=123; -- notice the AUTO_INCREMENT value

INSERT INTO test_table1 (id) value (123); -- ok

但这会因“重复键”而失败:

CREATE TABLE test_table2 (
id INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY (id)
) ENGINE=ARCHIVE AUTO_INCREMENT=124; -- notice the AUTO_INCREMENT value

INSERT INTO test_table2 (id) value (123); -- duplicate key

MyISAM 和 InnoDB 没有表现出这种行为,而且我在文档中找不到相关引用。如果我是你,我会在 MySQL 上提交错误(在 v5.5.6v5.5.32 下验证)。

关于mysql - 使用归档引擎 "duplicate key"错误插入到 mysql 表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18088940/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com