人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

MySQLでテーブルA(id,name)とテーブルB(id,uid,account)があり、SELECT テーブルB.account FROM テーブルA INNER JOIN テーブルB ON テーブルA.id =テーブルB.uid WHERE テーブルA.id=1”;で連結はできid=1のものはうまく拾うことができます。この連結をDELETEでやるとうまくいきません。よろしくお願いします。

●質問者: chibitomo
●カテゴリ:コンピュータ
✍キーワード:DELETE MySQL name ON SELECT
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● hakotantou
●25ポイント

http://dev.mysql.com/doc/mysql/ja/DELETE.html

MySQL AB :: MySQL 4.1 リファレンスマニュアル :: 6.4.5 DELETE 構文

テーブルAとテーブルBの両方から行をDELETEするのであれば、こちらのURLが参考になるかと思います。

http://dev.mysql.com/doc/mysql/ja/Subqueries.html

MySQL AB :: MySQL 4.1 リファレンスマニュアル :: 6.4.2 サブクエリ構文

テーブルBだけをDELETEの対象にするのであれば、WHERE節にサブクエリを記述すればよいのではないでしょうか?


2 ● jto
●25ポイント

http://www.hatena.ne.jp/

はてな

「この連結をDELETEでやる」というのは、この結果抽出されるレコードをテーブルBからDELETEするという意味なら、

DELETE FROM テーブルB WHERE uid in (SELECT id FROM テーブルA WHERE id=1);

でいかがでしょう?

はずしてたらすみません。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ