我有3张桌子
CREATE TABLE tag (
name VARCHAR(294) NOT NULL,
inserted_at DATETIME NOT NULL,
status INTEGER NOT NULL,
PRIMARY KEY (name)
) Engine=innoDB;
CREATE TABLE item (
id INTEGER NOT NULL AUTO_INCREMENT,
name VARCHAR(294) NOT NULL,
price INTEGER NOT NULL,
discounted_price INTEGER DEFAULT NULL,
unit VARCHAR(294) NOT NULL,
additional_message TEXT NOT NULL,
stock INTEGER NOT NULL,
is_featured INTEGER NOT NULL,
inserted_at DATETIME NOT NULL,
status INTEGER NOT NULL,
PRIMARY KEY (id)
) Engine=innoDB;
ALTER TABLE item ADD FULLTEXT(name, additional_message);
CREATE TABLE item_tag (
id INTEGER NOT NULL AUTO_INCREMENT,
item_id INTEGER NOT NULL,
tag_name VARCHAR(294) NOT NULL,
inserted_at DATETIME NOT NULL,
status INTEGER NOT NULL,
PRIMARY KEY (id),
FOREIGN KEY (tag_name) REFERENCES tag(name),
FOREIGN KEY (item_id) REFERENCES item(id)
) Engine=innoDB;
ALTER TABLE item_tag ADD FULLTEXT(tag_name);
第一个Alter Command完美无缺,但第二个没有。它返回#1215 - 无法添加外键约束。
你知道为什么吗?或者更好,如何解决它?
答案 0 :(得分:0)
据我所知,你不能让MySQL 5.5不支持FullText和外键约束在一起。您可以创建其中任何一个以使其正常工作。