【问题标题】:sql update command with skip primary key duplicates带有跳过主键重复项的 sql 更新命令
【发布时间】:2012-09-16 14:38:27
【问题描述】:

我有两张表 T1(col1,col2,col3) 和 T2(col4,col5,col6)

仅对于 T1 , col1 是主键。

我需要更新 col1=col4, col2 = col5, col3=col6 where col1=col4 or col1=col5

主键可能会重复...并且更新命令不起作用

基本上更新主键,不重复。

【问题讨论】:

    标签: sql-update primary-key


    【解决方案1】:

    您不需要更新 col1,因为您正在使用相同的主键更新行。 col1 是 T1 的主键,所以不会重复。

    查询应该是UPDATE T1 SET col2=col5, col3=col6 WHERE col1=col4

    如果 col1 != col4 和 col1 = col5 请执行查询SELECT * FROM T1 WHERE col1 = col4

    如果结果数组的行数 > 0 则跳过

    【讨论】:

    • 嗨,tausun,还有一个条件 col1=col5 和 col1!= col4 在这种情况下也可能有效 col1 需要用 col4 更新
    猜你喜欢
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多