• ベストアンサー

~以上~未満の指定の方法

MySQL - 5.0.45に関しての質問です。 テーブルMediaの中にフィールドMediaCDとClassがあります。 100以上200未満のMediaCDのClassを4に変更したいのですが UPDATE Media SET Class = 4 WHERE 200 <= MediaCD >= 100; 上記のSQL文を実行したらエラーはでないのですが、変更はされてませんでした。 何か間違っておりますでしょうか? ご教授頂けると幸いです。 宜しくお願い致します。

  • MySQL
  • 回答数2
  • ありがとう数23

質問者が選んだベストアンサー

  • ベストアンサー
  • smileeeen
  • ベストアンサー率70% (21/30)
回答No.2

少し気になったのですが、 100以上200未満とは200は含まないということでしょうか。 もしそうであれば UPDATE Media SET Class = 4 WHERE MediaCD >= 100 AND MediaCD < 200; かなと思います。 また200を含むのであれば別の書き方で UPDATE Media SET Class = 4 WHERE MediaCD BETWEEN 100 AND 200; という書き方もできるかと思います。 ご参考までに!

happy7happy7
質問者

お礼

参考になりました。 ありがとうございました。

その他の回答 (1)

noname#111181
noname#111181
回答No.1

AND演算子を使って以下のように指定してください。 UPDATE Media SET Class = 4 WHERE MediaCD >= 100 AND MediaCD <= 200;

happy7happy7
質問者

お礼

できました!! ありがとうございましたm(__)m

関連するQ&A

  • 一つのSQLで実行する方法

    SQL初心者です。以下のような商品テーブルの備考欄の文字列をアップデートするSQLですが、ひとつのSQL文で実行させるにはどのように記述すれば良いかお教えいただけませんでしょうか? UPDATE 商品テーブル SET 備考フィールド = replace(備考フィールド,'%明太子味',''); UPDATE 商品テーブル SET 備考フィールド = replace(備考フィールド,'のり味',''); UPDATE 商品テーブル SET 備考フィールド = replace(備考フィールド,'みそ味','');

  • php上でSQL文を実行した結果と、phpMyAdminで実行した結果が違う

    ☆実行環境 php5.3 MySQL4.0 $sql="SELECT * FROM テーブル名 WHERE フィールド名 like '".$変数."%'" php上で上記のようなSQL文を実行させようとしています。 テーブルには該当する行がいくつかあるのですが、ページ上では1行も表示してくれません。 mysql_num_rowsの返り値を見ると0になっています。 SQL文の組み立てがおかしいのかと思い、phpMyAdmin上でSQL文を実行すると、 きちんと欲しい内容が表示されます。 とするとphpでのSQL文の書き方がおかしいのだと思います。 どこかおかしいのかご教授ください。

    • ベストアンサー
    • PHP
  • Updateの複数テーブル条件時のLIMIT実行

    すみません、MySQLのSQL文で教えてください。 以下のSQL文を実行すると UPDATE overflag c, asinprice d SET d.priceCheckUS = TRUE WHERE c.asin=d.asin AND c.priceOverUS=0 LIMIT 1; ERROR 1221 (HY000): Incorrect usage of UPDATE and LIMIT というエラーが出力されます。 UPDATE asinprice d SET d.priceCheckUS = TRUE WHERE d.asin='111' OR d.asin='000' LIMIT 1; は実行できました。 複数テーブルだと実行できないように理解しましたが、何が問題か教えてください。 よろしくお願いします。

    • ベストアンサー
    • MySQL
  • タイムスタンプ型を抽出条件に指定した場合のSQL

    タイムスタンプ型を抽出条件に指定した場合、どの様なSQL文を指定すれば良いでしょうか? 該当するレコードは確かに存在していますが、以下のSQL文では「空」になってしまいました。 【実行したSQL文】 SELECT フィールド FROM テーブル WHERE タムスタンプ型フィールド BETWEEN '2011-08-05 20:00:00' AND '2011-08-06 19:59:59' 何卒、ご教授頂ければと存じます。 宜しくお願いします。

    • ベストアンサー
    • MySQL
  • ACCESS VBAのDSUMを使ってUPDATE

    よろしくお願いします。 通貨型のACCESSデータベースのレコードにDSUMを使ったUPDATE文で更新をしたいのですが、 うまくいきません。 イミディエイトウィンドウで出力したSQLをACCESSのクエリーで実行したところ、 "1個のフィールドで型変換エラー"となります。 実行したSQLは下記のようなものです。 UPDATE テーブル名 SET フィールド名 = DSUM(フィールド名,"テーブル名",コードI = '0000' AND コードII BETWEEN '5110' AND '5410') WHERE コードI = '0000' AND コードII = '5980'; 因みに、更新元テーブルと更新先テーブルは同じテーブルです。 行いたいのは、コードII列の「5110」~「5410」の合計値を、「5980」の場所にUPDATEを させようとしてます。 よろしくお願いします。

  • 【ServletでのUPDATEができません。】

    こんにちは。 現在、SQLServerのテーブルをServletにて更新しているのですがSQLが実行されても更新されていません。 何かSQLSeverで設定がいるのでしょうか? SQLは("UPDATE T_Strfer SET フラグ ='1' WHERE id="+Str);となります。SQLは確実に実行されています。 尚、SQLServerでフラグはテキスト型のフィールドサイズ1となっています。 ご教授宜しくお願い致します。

  • SQL文でフィールド名を変動的にできますか?

    VB.NETにてアクセスのMDBへSQLを使って直に書き込むコーディングについて疑問があります。 例えば、 cmnd.CommandText = "UPDATE 野菜テーブル SET 野菜カゴ1 = '" & 野菜名 & _ '" WHERE 条件文・・・" このように野菜テーブルのフィールド「野菜カゴ1」へある野菜をアップデートするSQLコマンド文があるとします。 しかし、アップデートする際、野菜カゴも都度変動する場合(例えばカゴが1~5ある等)はどのようなSQL文となるのでしょうか?フィールド名に変数を使用できるのでしょうか?方法をお知りの方がいましたらご教授願います。

  • 条件付きの複数の列の更新を1度にすることは可能?

    MySQLバージョン4.1.16を使っています。 aという列はaが0より大きいときだけ-1したくて でもbはいかなる条件のときでも0にしたい、という場合に それを1つのSQL文で実行することは可能なのでしょうか? 例えば、 query("UPDATE table SET a = a - '1' WHERE a > '0';"); query("UPDATE table SET b = '0';"); を1つのSQL文で実行したいのです。

    • ベストアンサー
    • MySQL
  • 文字列に対してPHP上で一括置き換えしたい

    DBにあるテーブルの指定されたカラム全てを文字列に対してPHP上で一括置き換えしたいです。 phpアドミン上でSQL文を使って UPDATE `テーブル名` SET フィールド名A=REPLACE (フィールド名A,"置換前の文字列","置換後の文字列"); で実行したらうまくいくのですが、 これをPHP上で処理したいと考えてます。 require("godb.php");//DBにアクセス $sql ="UPDATE テーブル名 SET フィールド名 = REPLACE(フィールド名,"AAA","BBB")"; mysql_query($sql2); と実行してもうまくいきません。。。 これって、、、一個一個対象カラムをPHP上で取り出してから 処理をかけないといけないのでしょうか。。 アドバイスいただけたら幸いです。 よろしくお願い致します。

    • ベストアンサー
    • PHP
  • 1テーブル&複数レコードの更新に対して1度のupdate文での処理方法

    1テーブル&複数レコードの更新に対して1度のupdate文での処理方法 Delphi2010+SQL SERVER 2005で開発しています。 update文で、 現在下のようにwhileで複数レコードに対して、 1回、1回、sqlを発行して、更新しています。 これを、一度のSQLの発行で処理できないものでしょうか? 更新テーブルは1つで、更新する項目も同じです。 更新するデータと、where句の条件が異なります。 もし可能なようでしたら、どうかご教授お願いします。 update table set A=1,B=2 where id=1 update table set A=2,B=3 where id=5 update table set A=9,B=99 where id=7 update table set A=5,B=10 where id=15 update table set A=1,B=10 where id=75