背景
父表、子表單獨生成了一些測試數據,但子表對應的外鍵字段未生成(數據庫設計該字段可爲空)。爲了更好地模擬數據關係,要填充子表外鍵字段,填充要保證參照完整性,並儘量均衡引用父表記錄。
方案
利用MySQL的RAND()函數,從父表隨機抽取記錄,並將該記錄ID填充至子表對應外鍵字段。
UPDATE article
set tenant_id =
(select tenant_id
from sys_tenant
order by RAND()
LIMIT 1)
where article_id> 2000;