MySQL 數據庫我有帶外鍵的表,你有數據麼-愛可生


MySQL 數據庫我有帶外鍵的表,你有數據麼-愛可生


問題

實驗 8 中,我們為表生成了測試數據。

有小夥伴問:如果兩個表有外鍵關係,我們生成的隨機數據沒法滿足外鍵關係,怎麼辦?


實驗

先來建一個測試庫:

MySQL 數據庫我有帶外鍵的表,你有數據麼-愛可生

建兩張有外鍵關係的表:

MySQL 數據庫我有帶外鍵的表,你有數據麼-愛可生

先為 office 表灌入一些基礎數據:

MySQL 數據庫我有帶外鍵的表,你有數據麼-愛可生

然後為 user 表灌入支持外鍵的數據:

MySQL 數據庫我有帶外鍵的表,你有數據麼-愛可生

來看一下我們生成的效果:

MySQL 數據庫我有帶外鍵的表,你有數據麼-愛可生

可以看到生成工具為 office1 和 office2 兩個外鍵列都生成了符合外鍵規範的數據:

MySQL 數據庫我有帶外鍵的表,你有數據麼-愛可生

而外鍵數據的採樣數量正是 100。

小技巧

如果大家希望為不同的外鍵列,生成不同採樣數量的數據,可以創建多張表,每張表分別配置一個外鍵列,最後將多張表合併為一張表。


在 mysql_random_data_load v0.1.12 中,存在缺陷,使得 --max-fk-samples 配置不生效,始終是 100。

目前在等待 percona 修復,如果大家著急用,可以在 https://github.com/ikarishinjieva/mysql_random_data_load/releases/download/fix_max-fk-samples/mysql_random_data_load.fix.tar.gz 下載作者臨時修復的 linux 版本。


分享到:


相關文章: