我正在尝试将我的表 A 的一部分复制到表 B:
@t1 := 1
INSERT INTO B
SELECT x, y, (@t1:=@t1+1)
FROM A
WHERE z=1
ORDER BY rand()
LIMIT 10
我想要的是在表 B(第三列)中获取从 1 到 10 的值,但它正在生成 12、124、45 等值......我想知道它是否首先执行变量,然后按 rand( ) 因为这些值永远不会超过表 A 中的行数。
有没有其他方法可以从 A 到 B 获得 10 个随机行并将它们标记在从 1 到 10 的第三列(排序列)中?在一个 mysql 语句中,我知道如何插入 10 次;-)