我有3张桌子。 model
,category
和document
。文档属于一个类别,属于一个模型,模型可以有多个类别,可以有多个文档。
我正在尝试构建&在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'
谢谢!