0

私はSQLを学んでいるので、これが少し簡単な場合は許してください。

「アプリケーション」と「ファイル」の 2 つのテーブルにデータを保存するアプリケーション フォームがあります。

Applications テーブルには、自動増分の主キー appID があります。

送信すると、両方のテーブルに新しいレコードが作成されます。私の問題は、「ファイル」テーブルにも appID 列があり、アプリケーション テーブルのものと同じ値を持つ必要があることです。

誰かがこれを達成するために私のSQLクエリを構築するのを手伝ってくれますか(またはそれを行うより良い方法がありますか)?

ありがとう

4

2 に答える 2

1

INSERTApplication テーブルのステートメントを発行した後、files テーブルにデータをLAST_INSERT_ID()入力するときに関数を使用します。appID

例えば:

# NULL for appID
INSERT INTO Applications 
VALUES (NULL, "app name") 

# NULL for fileID, LAST_INSERT_ID() for recently inserted appID
INSERT INTO files 
VALUES (NULL, LAST_INSERT_ID(), "file name") 
于 2013-03-19T16:41:12.300 に答える
0

このようなものがうまくいくはずです。

insert into files
(appid, field1, field2, etc)
select appid, value1, value2, etc
from applications
where appid = the one you just inserted.
于 2013-03-19T16:36:50.040 に答える