我有两张桌子
我已经给出了表定义,索引创建和约束定义
CREATE TABLE SIGNS (
ROW_ID MEDIUMINT UNSIGNED NOT NULL,
SUBJECT_ID MEDIUMINT UNSIGNED NOT NULL,
Test_ID MEDIUMINT UNSIGNED NOT NULL,
Name_ID TINYINT UNSIGNED NOT NULL,
date_ID TINYINT UNSIGNED NOT NULL,
race_NO MEDIUMINT UNSIGNED NOT NULL,
MO_TIME DATETIME NOT NULL,
ITEMID VARCHAR(255) NOT NULL,
VALUE SMALLINT UNSIGNED NOT NULL,
UNIQUE KEY SIGNS_ROW_ID (ROW_ID)
)
CHARACTER SET = UTF8;
指数
alter table SIGNS
add index SIGNS_idx01 (SUBJECT_ID, Test_ID),
add index SIGNS_idx02 (race_NO),
add index SIGNS_idx03 (ITEMID),
add index SIGNS_idx04 (VALUE);
当我执行以下与查询有关的约束时 ,出现以下错误
ALTER TABLE SIGNS DROP FOREIGN KEY signs_fk_itemid;
ALTER TABLE SIGNS
ADD CONSTRAINT signs_fk_itemid
FOREIGN KEY (ITEMID)
REFERENCES Test_ITEMS(ITEMID);
错误代码:3780。在外键约束'signs_fk_itemid'中引用列'ITEMID'和引用列'ITEMID'不兼容。
当我检查作为Test_items表定义语句的外部表时, ITEMID为VARCHAR(255),但不确定为什么会出现此错误?
你能帮我解决这个问题吗?