Mysql MSQL错误代码:1031。表存储引擎用于'#sql-13C0#U 31';不';我没有这个选择
我花了很多时间试图调整选项/配置来解决这个问题。我当然需要一些帮助。我使用的是MySQL v5.7.19,应该使用storage engine=InnoDB。我没有尝试将数据导入下图所示的表中。严格创建表,然后更改表以创建分区 以下是“显示创建表”:Mysql MSQL错误代码:1031。表存储引擎用于'#sql-13C0#U 31';不';我没有这个选择,mysql,Mysql,我花了很多时间试图调整选项/配置来解决这个问题。我当然需要一些帮助。我使用的是MySQL v5.7.19,应该使用storage engine=InnoDB。我没有尝试将数据导入下图所示的表中。严格创建表,然后更改表以创建分区 以下是“显示创建表”: CREATE TABLE assetInformation_TB ( aiEnId bigint UNSIGNED NOT NULL, aiId
CREATE TABLE
assetInformation_TB (
aiEnId bigint UNSIGNED NOT NULL,
aiId bigint UNSIGNED NOT NULL,
aiParentId bigint UNSIGNED NULL,
aiInternalId varchar (32) NOT NULL,
aiExternalId varchar (32) NOT NULL,
aiDestEligDate date NULL,
aiIntransit boolean DEFAULT FALSE NOT NULL,
aiCurrentLocation varchar (32) NOT NULL,
aiRfidTag varchar (32) NOT NULL,
aiBarcode varchar (32) NOT NULL,
aiShortDesc varchar (64) NOT NULL,
aiLongDesc varchar (4096) NOT NULL,
aiExternalRef1 varchar (32) NULL,
aiExternalRef2 varchar (32) NULL,
aiExternalRef3 varchar (32) NULL,
aiExternalRef4 varchar (32) NULL,
aiStorageType varchar (3) NOT NULL,
aiStorageClass varchar (3) NOT NULL,
aiIsReconciled boolean DEFAULT FALSE NOT NULL,
aiAgId bigint UNSIGNED NOT NULL,
aiAhId bigint UNSIGNED NOT NULL,
aiAhLevelNbr integer UNSIGNED NOT NULL,
aiAmtId bigint UNSIGNED NOT NULL,
aiAtId bigint UNSIGNED NOT NULL,
aiRsId bigint UNSIGNED NULL,
aiStatus smallint UNSIGNED DEFAULT 0 NOT NULL,
aiCreatedOn timestamp DEFAULT 0 NOT NULL,
aiCreatedBy bigint UNSIGNED DEFAULT 0 NOT NULL,
aiModifiedOn timestamp DEFAULT current_timestamp
ON UPDATE current_timestamp NULL,
aiModifiedBy bigint UNSIGNED DEFAULT 0 NOT NULL,
PRIMARY KEY (aiEnId, aiId)
)
COMMENT 'Asset Information Table'
ENGINE = InnoDB ROW_FORMAT=DYNAMIC;
第一个分区,但还有89个分区:
ALTER TABLE assetInformation_TB
PARTITION BY RANGE (aiEnId + aiId) PARTITIONS 90 (
PARTITION DBP001_0 VALUES LESS THAN (18246999999999999999)
ENGINE=InnoDB
DATA DIRECTORY = 'f:\proga1d\ad03\DBP001_0\DBP'
INDEX DIRECTORY = 'f:\proga1d\ad03\DBP001_0\IDX'
,
) ;
在Windows上,数据目录和索引目录选项不可用
支持MyISAM表的单个分区或子分区。
但是,您可以将数据目录用于单个分区或
InnoDB表的子分区
mysql> ALTER TABLE `assetInformation_TB`
-> PARTITION BY RANGE (`aiEnId` + `aiId`)
-> PARTITIONS 1
-> (
-> PARTITION DBP001_0 VALUES LESS THAN (18246999999999999999)
-> ENGINE=InnoDB
-> DATA DIRECTORY = 'f:\proga1d\ad03\DBP001_0\DBP'
-> INDEX DIRECTORY = 'f:\proga1d\ad03\DBP001_0\IDX'
-> );
ERROR 1031 (HY000): Table storage engine for '#sql-3aa3_4' doesn''t have this option
mysql> ALTER TABLE `assetInformation_TB`
-> PARTITION BY RANGE (`aiEnId` + `aiId`)
-> PARTITIONS 1
-> (
-> PARTITION DBP001_0 VALUES LESS THAN (18246999999999999999)
-> ENGINE=InnoDB
-> DATA DIRECTORY = 'f:\proga1d\ad03\DBP001_0\DBP'
-> -- INDEX DIRECTORY = 'f:\proga1d\ad03\DBP001_0\IDX'
-> );
Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0