如何在mysql中使非主键成为唯一有效的?

时间:2013-06-01 17:15:27

标签: mysql

我正在为我的公司制作库存系统。我们库存中的每个项目都有一个唯一的认证编号。但是,该认证编号在从购买到评估再到销售的整个系统中通常会发生变化。因为认证编号可以更改,我使用一个item_id字段,它只是一个自动递增的整数作为主键,这样我就可以在其他表中引用它,如果/当认证号发生变化时,不必更新其他表。

如何制作,以便我也可以使认证字段需要一个独特的价值?有没有办法进行类似“重复密钥更新成本='$ cost'”的插入查询,但会检查认证字段而不是重复密钥?我只是把它作为表中的第二把钥匙吗?

感谢大家的时间。

2 个答案:

答案 0 :(得分:0)

这是一种在非主键字段上添加UNIQUE约束的方法,

ALTER TABLE tableNameHere ADD CONSTRAINT tb_Uq UNIQUE (CertificationNumber)

答案 1 :(得分:0)

使用:

ALTER TABLE yourtable ADD UNIQUE (yourcolumn);