0
私は2つのテーブルを持っています:あるレコードを別のテーブルの値で更新する
私は色を挿入し、そのIDを素材レコードに追加したいと思います。
だから私は実行します。その後
INSERT INTO colors (color) VALUES ('red');
を私は(例のために3。)指定されたmaterials.idを有する材料を更新したいです。私はあなただけのselect文を逃したと思います
UPDATE materials
SET material='glass',price=100,color_id=(colors.id WHERE color='red')
WHERE id=3;
'INSERT'が失敗する重複行を回避するには、' MAX(colors.id) 'を追加してください。 – Stavr00
そうですが、色の列がユニークでない限り、クエリが推測できるようになります。しかし、より良いよりも安全です:) – marco
@ Stavr00 SQLiteでは、そのようなサブクエリは決して失敗します(http://www.sqlite.org/lang_expr.html#subq)。 –