Mysql FullText语法错误#1215

时间:2015-08-31 06:46:49

标签: mysql

我有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 - 无法添加外键约束。

你知道为什么吗?或者更好,如何解决它?

1 个答案:

答案 0 :(得分:0)

据我所知,你不能让MySQL 5.5不支持FullText和外键约束在一起。您可以创建其中任何一个以使其正常工作。