primary(unique?) keyでwhereしてupdateできない
mysql5.0を使っています。
IDという項目のPrimary Key、他は特別な設定をしていない項目が複数あります。これらの項目をupdateで更新する際(IDは更新しません、永久に固定です)、そのままでは当然全部の行がupdateされてしまうので条件指定が必要です。そこで更新対象が一意になるよう、whereを使ってIDを指定しようと思ったのですが、なぜかこれが実行されません。SQL文は以下のような感じです。
update my_db set a="a", b="b", c="c" where id="oshiete";(何も変わらない)
色々やって実験してみたところ、キーが一意になるような設定(Uniqueあるいは自動的にそうなるPrimary)をしているとうまくいきません。設定を外すとうまくいきますが、仕様上どうしてもIDは一意である必要があるのでその設定を外す訳にはいきません。しかしなぜかselect文では問題なく動作します。
select * from my_db where id="oshiete";
なぜこのケースでupdateを実行できないのでしょうか?
どなたか解決法をご存知の方、どうかお助けください。
よろしくお願い致します。
お礼
連立方程式、だったのですね。 そして、答えはひとつには定まらない。 だから、とりあえず数式で、答えをだす。 その答えは、幾通りかの表現方法がある・・・ とまあ、そういったところですかね。 早速のご回答を、どうもありがとうございました(^^)