• 締切済み

mysql で隣のカラムも更新される

トランザクション無しのDBを作成後 create table test(a timestmap, b timestamp); テーブルを作成し insert into test values(now(),now()); データを挿入 update test set a = now(); で更新するのは大丈夫(a>b)なのですが update test set b = now(); を実行するとaにbにコピーされて同じ(a=b)になってしまいます これはDBの仕様ですか?回避方法があれば教えてください windows vista sp1 mysql 5.1

みんなの回答

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

まぁ以前は1テーブルにタイムスタンプが設定できるのは1カラムだけでしたからね そもそもタイムスタンプを2つ持つ必要があるとはとても思えないですが

回答No.1

http://dev.mysql.com/doc/refman/4.1/ja/datetime.html こちらに書いてありますが、 「MAXDB モードで実行していないときの TIMESTAMP の動作 TIMESTAMP カラム型では、INSERT または UPDATE 操作に対して現在の日付と時刻を自動的に指定することができます。TIMESTAMP カラムが複数ある場合は、最初のカラムのみが自動で更新されます。 最初の TIMESTAMP カラムの自動更新は、次のいずれかの条件で発生します。 ・・・」 回避方法もリファレンスにありますのでご参考に。

関連するQ&A