【发布时间】:2012-10-16 19:36:42
【问题描述】:
出于测试目的,我正在尝试将一个表中的列设置为随机外键。 我尝试使用以下查询
update table1 set table2Id = (select top 1 table2Id from table2 order by NEWID())
这将随机获得一个 table2Id 并将其分配为 table1 中每一行的外键。 这几乎是我想要的,但我希望每一行都获得不同的 table2Id 值。
我可以通过遍历 table1 中的行来做到这一点,但我知道有一种更简洁的方法。
【问题讨论】:
-
table1是否有<=table2中的行数? -
那么不可能每一行都得到不同的table2Id值。
-
@MartinSmith 你是对的,但正如你从我的例子中看到的那样,我希望他们每个人都随机获得一个值。并非所有的值都相同。
-
啊误解了你的要求。
table1的主键是什么?
标签: sql sql-server