MySQL多个唯一列,插入数据问题

举个例子:
有一张表,标题和出处两个列被设置了唯一属性

需求:

当两列的值完全一致时,才不会插入数据,只要两列的值有一个不同都会插入数据

尝试操作:
当使用下列sql语句进行插入操作时,发现只能插入一条数据,受到上述两个唯一列的限制,只插入了一条数据,也就是说现在是两个两个唯一列同时生效而不是组合生效

insert into xxx .... ON DUPLICATE KEY UPDATE xxx=xxx;

其他办法设想:
插入前select查询数据,根据结果判断数据是否存在
不存在则插入数据,存在则略过本次操作

目前需求:
一条sql语句解决问题,类似上述的sql

第一次提问,感谢各位了...


绝地无双
浏览 835回答 1
1回答

隔江千里

思维死角了... 一直纠结数据库该怎么操作,其实可以在程序中对两个字段的值进行hash操作,然后把这个hash过的值设置在数据库中设置为唯一,这样就解决了问题...
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

MySQL