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]