分からない箇所
・登録しているデータベースから特定の情報を更新しようとした際、下記コードを実行すると、下記エラーが発生してしまいます。
update product_table join category_table on product_table.product_category_id = category_table.product_category_id set category_name = 'ソフト(旧作)’ where release_date < ’2020-1-1’;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '’ where release_date < ’2020-1-1’' at line 1
分からない箇所の詳細
・「発売日が2020年1月以前のカテゴリをソフトからソフト(旧作)に変更し、対象商品を1000円割引する」が今回求めている結果です。
情報を更新したいため「update」にて使用するテーブルを指定後、「set」「where」にて変更したい特定のカラムの情報を修正/定義しています。
また、2つのテーブルを結合してから結果を得たいため、「join」にて「product_table」と「category_table」を結合しています。
エラー内容に対して推測していること/試したこと
・syntaxエラーなので、'2020-1-1'の箇所で構文ミスしていると思うので、'2020-1-1 00:00:00'と時間まで記載してみたのですが、結果は同じでした。
テーブル情報
product_table↓
+---------------+---------------------+----------+-----------------------------------------+---------------+----------+--------------+---------------+---------------+ | product_id | product_category_id | genre_id | product_name | product_price | maker_id | release_date | target_age_id | product_stock | +---------------+---------------------+----------+-----------------------------------------+---------------+----------+--------------+---------------+---------------+ | 9966385271176 | 1 | 3 | ドラゴンクエスト11 | 4000 | 2 | 2018-12-11 | 1 | 9000 | | 7855635271176 | 1 | 2 | マリオカート8 | 4000 | 1 | 2018-07-23 | 1 | 13000 | | 8881635271176 | 1 | 1 | dead by daylight | 2000 | 3 | 2019-05-15 | 5 | 600 | | 7485859716476 | 2 | 6 | nintendo switch本体 | 30000 | 1 | 2017-01-25 | 1 | 30 | | 1452365885745 | 3 | 8 | レゴ (R)スーパーマリオ | 3000 | 1 | 2019-05-19 | 1 | 10 | | 1985665885745 | 1 | 5 | 桃太郎電鉄 | 8000 | 5 | 2020-12-30 | 1 | 9640000 | | 5252365885745 | 1 | 4 | ダービースタリオン. | 5000 | 4 | 2020-12-07 | 3 | 300 | | 9645365885745 | 2 | 7 | ゲームキューブコントローラ | 2000 | 1 | 2018-04-15 | 1 | 5000 | | 4452365885745 | 3 | 9 | どうぶつの森パーカー | 1000 | 1 | 2020-11-29 | 1 | 0 | | 3852365885745 | 1 | 10 | 大乱闘スマッシュブラザーズ | 10000 | 1 | 2017-08-06 | 2 | 76000 | +---------------+---------------------+----------+-----------------------------------------+---------------+----------+--------------+---------------+---------------+
category_table↓
+---------------------+-----------------------+ | product_category_id | category_name | +---------------------+-----------------------+ | 1 | ソフト | | 2 | 本体・周辺機器 | | 3 | グッズ | +---------------------+-----------------------+
「product_table」と「category_table」を結合して、「商品ID・商品名称・単価・発売日・カテゴリ名」を表示した結果です↓
+---------------+-----------------------------------------+---------------+--------------+-----------------------+ | product_id | product_name | product_price | release_date | category_name | +---------------+-----------------------------------------+---------------+--------------+-----------------------+ | 9966385271176 | ドラゴンクエスト11 | 4000 | 2018-12-11 | ソフト | | 7855635271176 | マリオカート8 | 4000 | 2018-07-23 | ソフト | | 8881635271176 | dead by daylight | 2000 | 2019-05-15 | ソフト | | 7485859716476 | nintendo switch本体 | 30000 | 2017-01-25 | 本体・周辺機器 | | 1452365885745 | レゴ (R)スーパーマリオ | 3000 | 2019-05-19 | グッズ | | 1985665885745 | 桃太郎電鉄 | 8000 | 2020-12-30 | ソフト | | 5252365885745 | ダービースタリオン | 5000 | 2020-12-07 | ソフト | | 9645365885745 | ゲームキューブコントローラ | 2000 | 2018-04-15 | 本体・周辺機器 | | 4452365885745 | どうぶつの森パーカー | 1000 | 2020-11-29 | グッズ | | 3852365885745 | 大乱闘スマッシュブラザーズ | 10000 | 2017-08-06 | ソフト |
もし足りない情報があれば、コメント欄にて補足情報をお送りさせていただきます。
解決方法をご教示いただけませんでしょうか。よろしくお願いいたします。
回答4件
あなたの回答
tips
プレビュー