我有一个表,有一个自动递增的ID PK,和其他列,其上有一个非唯一索引的列,但其中有数据我知道它是唯一的,名为column4。更新非密钥索引列时INSERT或UPDATE MySQL?
是否有可能做一个
(INSERT if column4="this_data") or (UPDATE if column4!="this_data")
?
或者我最好只是使用两个查询 - 一个SELECT来获得行的PK ID,其中column4 =“this_data”,然后是INSERT或UPDATE一次,我知道该行是否存在?
感谢您的时间和帮助。
http://dev.mysql.com/doc/refman/5.0/ en/insert-on-duplicate.html检查此链接 –
为什么不添加唯一密钥? – Arth
仅当用户属于特定类型时,该列才保存用户标识符 - 对于其中所有其他用户,我在此处具有零,这意味着我无法拥有唯一的索引。因此,5行中该列中的数据示例可能为0,0,343555,0,0。其实,我应该用NULL替换零吗?你可以在独特的索引列中有多个空值? – Shaun