【发布时间】: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
主键可能会重复...并且更新命令不起作用
基本上更新主键,不重复。
【问题讨论】:
我有两张表 T1(col1,col2,col3) 和 T2(col4,col5,col6)
仅对于 T1 , col1 是主键。
我需要更新 col1=col4, col2 = col5, col3=col6 where col1=col4 or col1=col5
主键可能会重复...并且更新命令不起作用
基本上更新主键,不重复。
【问题讨论】:
您不需要更新 col1,因为您正在使用相同的主键更新行。 col1 是 T1 的主键,所以不会重复。
查询应该是UPDATE T1 SET col2=col5, col3=col6 WHERE col1=col4
如果 col1 != col4 和 col1 = col5 请执行查询SELECT * FROM T1 WHERE col1 = col4
如果结果数组的行数 > 0 则跳过
【讨论】: