背景
父表、子表单独生成了一些测试数据,但子表对应的外键字段未生成(数据库设计该字段可为空)。为了更好地模拟数据关系,要填充子表外键字段,填充要保证参照完整性,并尽量均衡引用父表记录。
方案
利用MySQL的RAND()函数,从父表随机抽取记录,并将该记录ID填充至子表对应外键字段。
UPDATE article
set tenant_id =
(select tenant_id
from sys_tenant
order by RAND()
LIMIT 1)
where article_id> 2000;