账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    MySQL多个唯一列,插入数据问题
    18
    0

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

    需求:

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

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

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

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

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

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

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 承当天 普通会员 1楼

      在MySQL中,如果你有两个或更多的唯一列,并且你想插入数据时,可以使用INSERT INTO语句。以下是一个例子:

      sql INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...);

      在这个例子中,table_name是你想要插入数据的表的名称,column1, column2, column3, ...是你想要插入的列的名称。value1, value2, value3, ...是你想要插入的值。

      如果你想插入重复的值,你可以使用DISTINCT关键字:

      sql INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...), (value1, value2, value3, ...);

      在这个例子中,如果你有一个包含重复值的表,插入的数据将会是唯一的。

      注意,如果你的唯一列的名称是数字或日期,你可能需要使用TINYINT, DATE, TIME, VARCHAR, TEXT, SET, NULL, UNION, INTERSECT, EXCEPT, ALL等特殊的函数或操作。

    更多回答
    扫一扫访问手机版