• ベストアンサー

SELECT出来るのにDELETE出来ないのはなぜ

MySQLで下記SELECTレコードを削除したいと思い、 DELETEへ変えたら文法エラーになります。 SELECT * FROM `piyo` AS a LEFT JOIN `hoge` AS c ON a.`hoge_id` = c.`hoge_id` WHERE c.`x_id` =13 DELETE * FROM `piyo` AS a LEFT JOIN `hoge` AS c ON a.`hoge_id` = c.`hoge_id` WHERE c.`x_id` =13 どう書けば良いでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • Picosoft
  • ベストアンサー率70% (274/391)
回答No.1

文法エラーで悩んだときはマニュアルで構文を確認しましょう。 http://dev.mysql.com/doc/refman/5.1-olh/ja/delete.html DELETEの複合テーブル構文は  DELETE [LOW_PRIORITY] [QUICK] [IGNORE]   tbl_name[.*] [, tbl_name[.*]] ... ←DELETEとFROMの間にテーブル名が必要   FROM table_references   [WHERE where_condition] となっていますので、  DELETE a  FROM piyo AS a  LEFT JOIN hoge AS c ON a.hoge_id = c.hoge_id  WHERE c.x_id = 13 と書けばいいかと。

re97
質問者

お礼

回答ありがとうございました 参考になりましたー

関連するQ&A