新しいデータベースのテスト データを生成していますが、外部キー フィールドの 1 つを入力するのに問題があります。テーブル ( )に比較的多数 (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 のランダムな SurveyId を生成する方法がわかりません。while ループを回避しようとしてきましたが、それが唯一の選択肢でしょうか?
Red Gate SQL Data Generator を使用してテスト データの一部を生成してきましたが、この場合、生の SQL でこれを行う方法を理解したいと思います。