我正在使用这个表格结构来实现一个类似于“toxi”的标签系统。
我的意思是,当我更新某个标签名称(或删掉它)甚至删除一个产品时,TAGREL上的关系会自动更新。
但是我甚至无法向TAGREL表添加记录,它说TAGS表上的外键错误,即使我插入的数据是正确的(有效的TAGS别名和有效的产品ID)。
我不能在MySQL上做这种事情吗?唯一的解决方案(因为我需要在TAGS表上进行全面搜索)就是在更新某个标签 或 删除产品时手动更新tagrel?
谢谢。
table TAGS
+--------+-------------------+
| alias | isactive | varchar(55), tinyint(1)
+--------+-------------------+
| party | 1 |
Engine: MyISAM (because I use some 'autocomplete' using this table (field:alias) for
a %xxx% search
table TAGREL
+-------------+-------------------+
| tags_alias | productID | varchar(55), int(11)
+-------------+-------------------+
| party | 15 |
Engine: InnoDB (i dont need full search here)
This TAGREL table uses tags.alias as FK (on update cascade, on delete cascade) and
product id as FK (on update no action, on delete cascade)
我的意思是,当我更新某个标签名称(或删掉它)甚至删除一个产品时,TAGREL上的关系会自动更新。
但是我甚至无法向TAGREL表添加记录,它说TAGS表上的外键错误,即使我插入的数据是正确的(有效的TAGS别名和有效的产品ID)。
我不能在MySQL上做这种事情吗?唯一的解决方案(因为我需要在TAGS表上进行全面搜索)就是在更新某个标签 或 删除产品时手动更新tagrel?
谢谢。