No.3ベストアンサー
- 回答日時:
自表や他表を利用したupdateやdeleteは、RDBMSによる仕様差が多い部分です。
MySQLの場合は、次のような書き方ができます。
(削除対象の表名は、他表との結合のためにも使うので、2箇所で出てきます)
-- 例1
delete t1
from t1 inner join t2 on t1.c1=t2.c1
;
-- 例2
delete t1
from t1,t2
where t1.c1=t2.c1
;
-- 例3
delete from t1
using t1,t2
where t1.c1=t2.c1
;
http://dev.mysql.com/doc/refman/5.1/ja/delete.html
この回答への補足
chukenkenkou様
アドバイスを頂き、有難うございます。
上記の内容とURLを参考に実行したら、
できるようになりました。
有難うございました。
No.2
- 回答日時:
あっと、deleteの解説を十分読んでなかった。
4.0以降は、結合(join含む)で複数table指定可能になってるのか。問題は、on じゃなくてwhereで指定しないとtruncate(全行削除)になるってことだね。
この回答への補足
hrm_mmm様
アドバイスを頂きまして、有難うございます。
教えて下さった構文を実行してみたところエラーとなりました。
以下エラー
#1064 - 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 field01 IN ( SELECT tbl_B.field01 FROM tbl_B' at line 1
何処がおかしいのでしょうか?
よろしくお願いします。
DBバージョン:Mysql5以降です
No.1
- 回答日時:
join 構文は、select構文内でしか使えないと思ったけど、エラーも出さずに無視して実行しちゃうとは、deleteって危険な構文ですね。
とりあえず、mysql4.1以降でサブクエリが使えるなら、where条件にサブクエリを書けば出来そうです。
delete from tbl_A
where field01 IN (SELECT tbl_B.field01 FROM tbl_B);
4.0以前だと、delete構文に関しては、1クエリでは無理です。
参考URL:http://dev.mysql.com/doc/refman/4.1/ja/Rewriting …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAチェックボックスで有効無効切り替えできるように 5 2022/10/21 16:13
- Visual Basic(VBA) VBA チェックボックスの設定について 1 2022/10/24 10:27
- JavaScript 追加ボタンを押した際に ok ボタンを押した場合のみ入力値が追記されるようにしたいです 6 2022/05/29 09:57
- Visual Basic(VBA) フォーム上のリストボックスに重複して表示しています 3 2022/10/19 11:55
- Visual Basic(VBA) VBAコードで質問があります 2 2022/10/20 15:27
- Visual Basic(VBA) このマクロの説明文を教えてほしいです。 1 2023/01/12 09:17
- PHP PHPSpreadsheetを使って関数を繰り返し埋め込みたい 1 2023/05/24 11:33
- Java 複数TBLのオブジェクトを1つの変数(オブジェクト)でまとめて管理したい 1 2022/12/17 00:12
- Access(アクセス) アクセス 削除するレコードを含んだテーブルを指定してくださいのエラー対処方法 1 2022/11/24 15:01
- IT・エンジニアリング ドメイン駆動設計の値オブジェクトについて質問 1 2023/05/13 02:50
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~12/6】 西暦2100年、小学生のなりたい職業ランキング
- ・ちょっと先の未来クイズ第5問
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
トリガって、自分自身のテーブ...
-
アクセスのクエリでレコード削...
-
Excel テーブル内の空白行の削除
-
削除フラグってどうなんでしょう?
-
mysqlで間接クエリー実行させた...
-
大量のレコードを削除する方法
-
アクセス2010について
-
条件付DELEATE文について
-
HiRDBのPURGEとDROPの違い
-
Accessでデータシートに同じデ...
-
テーブル名をカラムとして取得...
-
会社の飲み会の幹事になり、座...
-
SQL、2つのテーブルで条件一致...
-
テーブルに存在しない列をselec...
-
SELECT 文の NULL列は?
-
Oracleで上書きImportはできま...
-
テーブルリンク リンク元を知...
-
PostgreSQLの断片化の状況を確...
-
sqlplusで表示が変なので、出力...
-
SQL*LoaderでCSVから指定した列...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel テーブル内の空白行の削除
-
アクセスのクエリでレコード削...
-
トリガって、自分自身のテーブ...
-
HiRDBのPURGEとDROPの違い
-
アクセス2010について
-
ACCESSのマクロでテーブルのデ...
-
CSVファイルから一括して削除す...
-
Access2000の削除クエリで消し...
-
テーブルデータの削除による対応策
-
mysqlで間接クエリー実行させた...
-
Accessのテーブルをすべて削除
-
アクセス通貨型or数値型について
-
削除フラグってどうなんでしょう?
-
リレーションについて
-
ワークテーブルなのに自動で削...
-
列のDEFAULT設定を削除するコマ...
-
MySQLのストアドでファイルを削除
-
MySQLを勉強中ですが、作業の内...
-
レコードの削除で delete from ...
-
物理削除と論理削除、どっちが...
おすすめ情報