我试图创建一个表,并确保整行是唯一的,以下工作?

ALTER TABLE `gerrits`.`gerrit_submit_table`
ADD UNIQUE idx_row_unique(`S.No`,`gerrit_id`,`SI`,`component`,`gerrit_owner`,`release_bit`,`picked_bit`);

最佳答案

是的,当然,那会有用的。添加一个属性用逗号分隔的唯一语句可以确保整行是唯一的,尽管您可以在列中重复。
另一方面,如果您想使每一列都是唯一的,那么可以使用indivdual unique语句来实现。
如果要使用索引名称指定它,请使用:

ALTER TABLE `gerrits`.`gerrit_submit_table`
ADD UNIQUE INDEX idx_row_unique(`S.No`,`gerrit_id`,`SI`,`component`,`gerrit_owner`,`release_bit`,`picked_bit`);

如果您不关心索引名是什么,它将自动为您创建一个索引名,使用:
ALTER TABLE `gerrits`.`gerrit_submit_table`
ADD UNIQUE(`S.No`,`gerrit_id`,`SI`,`component`,`gerrit_owner`,`release_bit`,`picked_bit`);

关于mysql - 如何创建表并确保整行都是唯一的,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30813693/

10-09 04:05
查看更多