今天使用一个工具,需要执行一段指令,如下create table OS_PROPERTYENTRY
(
GLOBAL_KEY varchar(250) NOT NULL,
ITEM_KEY varchar(250) NOT NULL,
ITEM_TYPE tinyint,
STRING_VALUE varchar(255),
DATE_VALUE datetime,
DATA_VALUE blob,
FLOAT_VALUE float,
NUMBER_VALUE numeric,
primary key (GLOBAL_KEY, ITEM_KEY)
)TYPE=InnoDB;这段指令是官方提供的,但是会报错,实验了一下,错误可能来自 primary key (GLOBAL_KEY, ITEM_KEY) 句。错误信息是Specified key was too long, max key length is 1024 .请问如何解决这个问题呢。

解决方案 »

  1.   

    create table OS_PROPERTYENTRY
    (
    GLOBAL_KEY varchar(250) NOT NULL,
    ITEM_KEY varchar(250) NOT NULL,
    ITEM_TYPE tinyint,
    STRING_VALUE varchar(255),
    DATE_VALUE datetime,
    DATA_VALUE blob,
    FLOAT_VALUE float,
    NUMBER_VALUE numeric,
    primary key (GLOBAL_KEY, ITEM_KEY)
    )TYPE=InnoDB;=================(0 row(s)affected)
    (0 ms taken)
    没错误啊
      

  2.   

    mysql> create table OS_PROPERTYENTRY
        -> (
        -> GLOBAL_KEY varchar(250) NOT NULL,
        -> ITEM_KEY varchar(250) NOT NULL,
        -> ITEM_TYPE tinyint,
        -> STRING_VALUE varchar(255),
        -> DATE_VALUE datetime,
        -> DATA_VALUE blob,
        -> FLOAT_VALUE float,
        -> NUMBER_VALUE numeric,
        -> primary key (GLOBAL_KEY, ITEM_KEY)
        -> )ENGINE=InnoDB;
    Query OK, 0 rows affected (0.06 sec)