chart_idが1の両方のテーブルのすべての行を削除したいが、それはうまく動作せず、理由が分からない。mysqlのINNER JOINを使用して2つのテーブルから行を削除するには?
DELETE `cms_module_charts`
FROM `cms_module_charts`
INNER JOIN `cms_module_charts_kategorie`
ON `cms_module_charts_kategorie`.`chart_id`=`cms_module_charts`.`chart_id`
WHERE `chart_id`= 1
これはエラーです。 予期しない文字です。私はあなたが使用する必要があります内のデータベース・スキームを考える
DELETE FROM (`cms_module_charts` INNER JOIN `cms_module_charts_kategorie`
ON `cms_module_charts_kategorie`.`chart_id`=`cms_module_charts`.`chart_id`)
WHERE `chart_id`= 1
誤っていますが、オプションのマルチテーブル構文があります。ドキュメントを見てください。 – Arth
@Arth SQL標準では、この構文を使用する必要があります!!多分mySQLはオプションの構文を提供していますが、このケースでは非推奨です... – Vincent
うーん、私はそれが廃止されていないと確信しています。構文が* blah *であることを明確にしていないだけで誤解を招くことはありません。 – Arth