|ID|owner|page|value|
|1 |0001 |home|demo |
|2 |0003 |home|demo |
|3 |0001 |home|demo |
我想要的是阻止所有者为同一页面设置2个值。
所以我目前的approch是
|ID|owner|page|value|unique_check
|1 |0001 |home|demo |0001_home
|2 |0003 |home|demo |0003_home
unique_check is (unique key).
现在当我在php端插入此表时,我设置了unique_check = owner_page 并且由于unique_check是一个唯一的列mysql会给出错误,如果该所有者已经为此页面设置了值,则不插入。
但我的问题是,有没有办法在没有php帮助或没有额外'unique_check'列的情况下在mysql上执行此操作? (一起设置为2列唯一)
如果没有办法将unique-constrain设置为2列,我可以设置unique_check默认值= owner_page,所以我不担心从php那样做吗?
答案 0 :(得分:3)
是的,添加UNIQUE
约束,
ALTER TABLE tableNAME ADD CONSTRAINT tb_UQ UNIQUE (owner, page)