我正在为新数据库生成测试数据,但在填充其中一个外键字段时遇到问题。我需要在一个表 () 中创建相对大量 (1000) 的条目,该表SurveyResponses
具有指向只有 6 个条目的表的外键 ( Surveys
)
数据库已经有一个Schools
包含几千条记录的表。为了争论,让我们说它看起来像这样
Schools
+----+-------------+
| Id | School Name |
+----+-------------+
| 1 | PS 1 |
| 2 | PS 2 |
| 3 | PS 3 |
| 4 | PS 4 |
| 5 | PS 5 |
+----+-------------+
我正在创建一个新Survey
表。它只有大约 3 行。
Survey
+----+-------------+
| Id | Col2 |
+----+-------------+
| 1 | 2014 Survey |
| 2 | 2015 Survey |
| 3 | 2016 Survey |
+----+-------------+
SurveyResponses
只需将学校与调查联系起来。
Survey Responses
+----+----------+----------+
| Id | SchoolId | SurveyId |
+----+----------+----------+
| 1 | 1 | 1 |
| 2 | 2 | 2 |
| 3 | 3 | 1 |
| 4 | 4 | 3 |
| 5 | 5 | 2 |
+----+----------+----------+
填充该SurveyId
领域是给我最大的麻烦。我可以随机选择 1000 所学校,但我还没有找到生成 1000 个随机调查 ID 的方法。我一直在努力避免while循环,但也许这是唯一的选择?
我一直在使用 Red Gate SQL 数据生成器来生成一些测试数据,但在这种情况下,我真的很想了解如何使用原始 SQL 来完成。