1

MySQL で条件付き挿入を行いたい。2 つのテーブル (Car と CarType) があります。

Car テーブルには、typeIdCarType テーブルのエントリを指す列があります。

指定された typeId が CarType テーブルに存在する場合にのみ、Car テーブルに行を挿入します。

私はいくつかのグーグルを試し、いくつかの解決策を試しました。これが私が見つけたものです
(ただし、機能しません):

INSERT INTO Car (title, licensePlate, carType 
SELECT 'Ford Transit', 'SV 32 654', '13' 
FROM DUAL 
    WHERE EXISTS (SELECT typeId FROM CarType WHERE typeId = 13)
4

1 に答える 1

3

例で誤解を招くと思いますが、これは次のように簡単です。

INSERT INTO Car (title, licensePlate, carType) 
  SELECT 'Ford Transit', 'SV 32 654', '13' 
  FROM CarType WHERE typeId=13;
于 2010-12-05T14:03:57.700 に答える