[前][次][番号順一覧][スレッド一覧]

mysql:3788

From: とみたまさひろ <とみたまさひろ <tommy@xxxxxxxxxx>>
Date: Tue, 19 Jun 2001 19:51:39 +0900
Subject: [mysql 03788] Re: データの更新

とみたです。

On Mon, 18 Jun 2001 19:42:26 +0900
"水野 健一" <mizuno@xxxxxxxxxx> wrote:

> まず、テーブルmaster 中にテーブルadd_dataの名前と〒が同じ物 
> にFLGをたてるというSQLをMySqlManagerのmySqlQueryで書いたのですが
> update master SET flg = '1' where in ID( SELECT master.ID
> FROM  master, add_data
> WHERE master.氏名 = add_data.氏名 AND master.`〒` = add_data.`〒`) 
> 下記のようなエラーがでます。
> You have an error in your SQL syntax near 'in ID( SELECT master.ID 
> FROM master, add_data 
> WHERE master.氏名 = add_data.氏' at line 1 

MySQL では副問い合わせはサポートされてませんからね。

一時テーブルを使って、次のようにするってのはいかがでしょうか。

	CREATE TEMPORARY TABLE tmp_master 
	  SELECT master.ID, master.氏名, master.〒 FROM master, add_data
	  WHERE master.氏名 = add_data.氏名 AND master.〒 = add_data.〒;
	REPLACE INTO master (ID, 氏名, 〒, flg)
	  SELECT ID, 氏名, 〒, 1 FROM tmp_master;

master に他にもフィールドがある場合はそれも指定しましょう。

--
とみたまさひろ <tommy@xxxxxxxxxx>
日本MySQLユーザ会 http://www.mysql.gr.jp

[前][次][番号順一覧][スレッド一覧]

      3779 2001-06-18 19:42 ["水野 健一" <mizuno@] データの更新                            
      3782 2001-06-19 12:34 ┣["william" <william@x]                                       
      3786 2001-06-19 18:36 ┃┗["水野 健一" <mizuno@]                                     
->    3788 2001-06-19 19:51 ┗[とみたまさひろ <tomm]