将表行值更新为另一个表中的随机行值

时间:2016-01-09 22:11:06

标签: mysql sql sql-update

我有2个MySQL表。

一个表格中列有列出所有状态的列

<div class="button">
		<a href="first.html">Go to site</a>
	</div>

第二个表有一个列(randomStates),其中所有NULL值都需要用随机选择的状态缩写填充。

像...一样的东西。

colStates | column2 | column 3
------------------------------
AK        | stuff   | stuff
AL        | stuff   | stuff
AR        | stuff   | stuff
etc..     | etc..   | etc..

有人可以帮我解释这个说法。我看了看其他帖子,但我不明白。

1 个答案:

答案 0 :(得分:0)

这适用于我在SQLite中的试用数据:

UPDATE mytable
SET randomStates = (SELECT colStates FROM
                        (SELECT * FROM first_table ORDER BY RANDOM())
                    WHERE randomStates IS NULL)

没有第一个SELECT部分​​,最终会在所有NULL randomStates字段中插入相同的随机值。 (即如果你只是执行SELECT StateValue FROM计数ORDER BY RANDOM(),你就得不到你想要的东西。)