-1

2 つのクエリがあり、最初のクエリの結果を 2 番目のクエリで使用したいと考えています。最初のクエリは次のようになります。

「私たちについて」のようなカテゴリからIDを選択してください

これがCat_id = 2 を返すとします。

1 番目のクエリ EG の結果を使用する必要がある 2 番目のクエリでは、(クエリ 1 で返された) ID を使用して、About Us のサブカテゴリに入る必要があります。

2 番目のクエリは次のようになります。

INSERT into sub_cat VALUES(NULL, 2 ,History) INTO(subCat_id, Cat_id, 'name')

では、最初の SQL クエリで返された値を 2 番目のクエリに使用するにはどうすればよいですか

4

2 に答える 2

2

クエリでサブクエリを使用できINSERTます。

INSERT INTO sub_cat (subCat_id, Cat_id, `name`)
VALUES (NULL, (SELECT id FROM category WHERE name = 'About Us'), 'History');

これは、同じ名前のカテゴリが複数ないことを前提としています。テーブルに同じ名前のカテゴリがある場合は、サブクエリに a を追加するか、Stefan H. の回答で言及されているようなステートメントをLIMIT 1使用できます。INSERT INTO .. SELECT

INSERT INTO sub_cat (subCat_id, Cat_id, `name`) (
    SELECT NULL, id, 'History' FROM category WHERE name = 'About Us'
)
于 2012-07-27T19:33:18.093 に答える
0

INSERT INTO SELECT は、必要なクエリです

INSERT into 
    sub_cat 
SELECT 
    NULL AS subCat_id,
    Cat_id,
    'name' as History
FROM
    Category
Where 
    YourColumn like 'About Us'
于 2012-07-27T19:33:02.057 に答える