我有一个存储产品代码的字段.代码是唯一的,但有些产品根本没有代码.我不能发明代码,因为它们是提供者代码.

这种约束在MySQL中可能吗?

我是一个有存储过程和触发器的noob,所以如果解决方案涉及其中一个,请耐心等待.

更新:

推荐答案

是的,你能做到.看MySQL reference (version 5.5).

唯一索引会创建一个约束,使得索引中的所有值都必须是不同的.如果try 添加键值与现有行匹配的新行,则会发生错误.对于所有引擎,唯一索引允许包含NULL的列具有多个NULL值.

Mysql相关问答推荐

MySQL 8.0.28覆盖(和函数)索引未使用

使用由其中一个表的列规定的条件连接两个表

错误:数据包顺序错误.GET:0预期:10 node JS MySQL

MySQL::JSON列的添加使SELECT查询非性能(当需要临时表时)

表列中的SQL SUM MENY值记录单个查询

从表中动态删除所有空列

使用Workbench时如何添加mysqldump配置标志

如何通过SQL来计算到达特定值的行的数量

带有 JOIN 和 WHERE 子句的 INSERT 语句

使用 SELECT 时应锁定多少行 .. FOR UPDATE LIMIT 1

如何根据购买的商品数量查找 unique_ids 的数量

Mysql如何分行分词

Mysql,显示谁已经和没有 Select 退出巴士服务

创建将列与多个值进行比较的索引

查找同时玩过这两种游戏的玩家

在 PHP/MySQL 中将日期时间存储为 UTC

启用 NO_BACKSLASH_ESCAPES 选项时如何转义文字百分号?

如何将 mysqldump 的输出拆分为较小的文件?

MySQLgo 除非数字字符进行比较

MySQL在哪里存储数据库文件?