我有以下架构:
tbl_tag
--------|------
name count
apple 2
orange 5
tbl_lookup_tag
--------|---------
doc_id tag
1 apple
1 orange
2 apple
foreign key (tag) references tbl_tag (name)
on update cascade on delete cascade
我想要的是tbl_lookup_tag.tag
仅在更改tbl_tag.name
时更新,而在tbl_tag.count
更改时不更新。这可能吗?
答案 0 :(得分:1)
不是通过名称引用tbl_tag
而是创建代理主键(整数,自动增量)并通过它引用。
在这种情况下,您可以毫无后顾之忧地重命名您的标签。
所以你的新架构看起来像是:
tbl_tag: id | name | count
^
|----------------|
v
tbl_lookup_tag: doc_id | tag_id