我在使用Engine = ARCHIVE创建一个简单的表时遇到错误,它迫使我将auto_increment用于主键列,这是我不想要的。 (Mysql 5.6)。
E.g:
CREATE TABLE ar_my_table ( COL_1 BIGINT UNSIGNED NOT NULL COMMENT 'my first column', ... PRIMARY KEY (COL_1) ) ENGINE = ARCHIVE ;
上面的失败是“ERROR 1030(HY000):从存储引擎得到错误-1”,
但是如果我使用AUTO_INCREMENT作为PK列或者不使用PK,则创建表(如下所示)
CREATE TABLE ar_my_table ( COL_1 BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'my first column', ... PRIMARY KEY (COL_1) ) ENGINE = ARCHIVE ;
OR
CREATE TABLE ar_my_table ( COL_1 BIGINT UNSIGNED NOT NULL COMMENT 'my first column', ... ) ENGINE = ARCHIVE ;
(顺便说一句,我尝试在没有PK的情况下创建表并使用ALTER TABLE ADD CONSTRAINT ...但是alter statement失败并出现相同的错误。)
如果我想拥有PK索引,则归档引擎中是否必须使用Auto_Increment。 Mysql参考文档没有说明任何内容(除了你可以有PK而没有其他索引)并且可以让Auto_increment暗示Auto_increment是可选的。
其他人遇到同样的问题?有没有Auto_increment的PK的任何解决方案?
感谢帮助或指导,谢谢