随机使用另一个表中的一组ID更新字段

时间:2015-03-12 01:34:24

标签: php mysql

我有3张桌子。 modelcategorydocument。文档属于一个类别,属于一个模型,模型可以有多个类别,可以有多个文档。

我正在尝试构建&在PHP中执行此查询,从当前所选模型中的类别列表中为每个文档分配随机选择的类别。 因此,如果模型有10个类别(cat1-cat10),每个类别都有10个文档,最终结果将使1000个文档具有随机分配的cat1-cat10的random_category_id字段,但不会覆盖现有的category_id。文献。

稍后在应用程序中,我需要能够计算document.category_id == document.random_category_id。

有没有办法在一个查询中执行此操作。我是SQL&的新手。 PHP(并且还没有掌握任何类型的JOIN),所以请原谅数据库设计中的错误&混合编码方法。我知道下面的例子不会执行。

我正在使用带有InnoDB的MySQL 5.5.28。

伪代码示例

$catList = SELECT category_id FROM category WHERE model_id = '$current_model_id'
UPDATE document.random_category_id = RANDOM($catList) WHERE document.model_id = '$current_model_id'

谢谢!

0 个答案:

没有答案