電子書籍の厳選無料作品が豊富!

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

どう書けば良いでしょうか?

A 回答 (1件)

文法エラーで悩んだときはマニュアルで構文を確認しましょう。


http://dev.mysql.com/doc/refman/5.1-olh/ja/delet …

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
と書けばいいかと。
    • good
    • 0
この回答へのお礼

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

お礼日時:2014/03/19 09:40

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!