importテーブルの内容を元にshopsテーブルを更新したいと考えています。
shopsテーブルはidが主キーとなっています。
shopsテーブルに既にデータがあるものはnameの更新、
ないものはレコードの追加を行いたいです。
テーブル
importテーブル
id | name |
---|---|
1 | AAA |
1 | AAA |
2 | BBB |
3 | EEE |
3 | EEE |
4 | DDD |
shopsテーブル
id | name |
---|---|
1 | AAA |
2 | BBB |
3 | CCC |
今までしてみたこと
調べて、
INSERT INTO
ON DUPLICATE KEY UPDATE
を使って実装できるのではと考えて
SQL
1INSERT INTO shops ( 2 id, 3 name, 4) VALUES ( 5 imports.id, 6 imports.name 7) 8ON DUPLICATE KEY UPDATE 9 id = imports.id, 10 name = imports.name 11;
上記のSQLを作成しましたが実行できず…
どういう書き方ができるのか教えていただければ幸いです。
よろしくお願いいたします。
追記
エラーの内容ですが、
「Unknown column 'imports.name' in 'field list'」
となっていました。
importsテーブルを見てもname項目があるためどう直すのかが分からず…という状態でした。
回答2件
あなたの回答
tips
プレビュー