这是我的问题: 密钥“idx_SR_u_Identity_FingerPrintProfile”用于将字段“c_r_Fingerprint”和“c_r_Profile”限制为唯一。
似乎我做错了,因为表中的所有4个条目对这两个字段都有相同的值。如果两个记录具有相同的指纹或相同的配置文件是可以的,但不能同时使用。
如何正确指定此唯一键,以便不允许这样的重复?
答案 0 :(得分:0)
我认为您的密钥是正确的,但MySQL不会将其应用于NULL
值。 MySQL Docs for CREATE TABLE州:
UNIQUE索引允许包含NULL的列的多个NULL值。
虽然像(1,2)这样的条目只能出现一次,但像(1,NULL)这样的条目可能会多次出现,由于NULL
,它们不会被认为是重复的。
根据您的使用案例,您可以禁止NULL
两列来规避问题。