私がしなければならないことを説明しようと思います。
私はテーブルを持っており、そのテーブルにはIDがあります。このIDは私の主キー(auto_increment)です。そして、私は2番目のテーブルを持っています。
必要なのは、秒テーブルに何かを保存するときに、最初のテーブルのIDを使用したいということです。
私はたくさんのことを読みましたが、それからもっと頭痛がしただけなので、誰かがこれを手伝ってくれるなら、私は感謝するでしょう。
Rgrds
外部キーの概念が必要です。これは、制約として定義することも、そのまま使用することもできます。「教師」と「生徒」がいて、生徒が1人の教師に割り当てられていると仮定します。したがって、先生はID
。これで、「生徒」テーブルにもID(主キー)とTEACHER_ID
、教師のエントリを参照する外部キーが含まれます。
ALTER TABLE `Pupils` ADD FOREIGN KEY (TEACHER_ID) REFERENCES `Teachers` (ID)
教師TEACHER_ID
のを参照する制約を作成します。ID
PHPでは、両方のエントリを同時に作成する場合。最初に教師を挿入してから、次を使用できます。
$teacherID = mysql_insert_id();
これにより、最後のauto_increment
値(この場合は教師ID
)が返され、これがTEACHER_ID
生徒のエントリのとして設定されます。
Declare @id int
SET @id=1
INSERT INTO table2(col1,col2...)
select col1,col2... from table1 where ID=@id
phpで使用しているmySQLのバージョンはわかりませんが、mysqliではmysqli_insert_id関数(mysql_insert_idも機能します)の例を使用できます。
$query = "INSERT INTO myCity VALUES (NULL, 'Stuttgart', 'DEU', 'Stuttgart', 617000)";
mysqli_query($link, $query);
printf ("New Record has id %d.\n", mysqli_insert_id($link));
詳細については、http://us3.php.net/manual/en/mysqli.insert-id.phpを参照してください。