如何随机更新数据表?

时间:2016-10-05 07:22:29

标签: mysql sql

我有两张桌子:

  • subjectcolumns idn_contact_id

  • n_contact包含idfirstnamelastname列,以及 secondname

请帮助更新主题表中的n_contact_id,但随机更新:

UPDATE subject sub set n_contact_id = ...

1 个答案:

答案 0 :(得分:0)

此代码将在您知道要更改的主题的ID的位置执行此操作。只需在SUBJECT_ID_HERE变量中插入主题ID(手动或使用提取的变量)。

UPDATE subject as sub,
(
    SELECT id FROM n_contact order by RAND() LIMIT 1
) as temp
SET n_contact_id = temp.id WHERE sub.id = SUBJECT_ID_HERE

一个警告是RAND()对于具有特别大量行的表来说很慢,但对于小表来说会很好。