Mysql MSQL错误代码:1031。表存储引擎用于'#sql-13C0#U 31';不';我没有这个选择

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

我花了很多时间试图调整选项/配置来解决这个问题。我当然需要一些帮助。我使用的是MySQL v5.7.19,应该使用storage engine=InnoDB。我没有尝试将数据导入下图所示的表中。严格创建表,然后更改表以创建分区

以下是“显示创建表”:

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