OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

Mysqlのupdate文

  • すぐに回答を!
  • 質問No.216591
  • 閲覧数118
  • ありがとう数1
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 20% (6/30)

Mysql3.23.42+PHPで下記のようなテーブルで
Field| Type
----+------------
 a | int
 b | varchar
 c | varchar
 d | timestamp
 e | timestamp
update文を実行すると、

 update set b='あ',c='い',e=NULL where a='1';
dまでアッデートされてしまうのですが何ででしょう?
何か特別なことしなくてはいけないのでしょうか?
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.2
レベル6

ベストアンサー率 71% (5/7)

TIMESTAMP型の仕様です。
TIMESTAMP型は、INSERT や UPDATE の際に自動的に現在日時で更新されます。
複数のTIMESTAMP型のフィールドがある場合は最初の一つだけが更新されます。
任意の日時を保管する場合、DATETIME型を用いるようにしましょう。
お礼コメント
kakipi

お礼率 20% (6/30)

両方ともDATETIME型変え
UPDATEさせるようにしたらうまくいくようになりました。
ありがとうございました。
投稿日時 - 2002-02-18 18:25:08
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.1
レベル10

ベストアンサー率 27% (36/129)

 MySQLが一般のSQLとの違いが解らないのですが、SQLですと、 update テーブル名 set 更新field名 = 更新データ where 条件  となるはずですので、updateのあとにテーブル名が抜けているということはありませんか? ...続きを読む
 MySQLが一般のSQLとの違いが解らないのですが、SQLですと、

update テーブル名 set 更新field名 = 更新データ where 条件

 となるはずですので、updateのあとにテーブル名が抜けているということはありませんか?
補足コメント
kakipi

お礼率 20% (6/30)

すいません。
update tb set b='あ',c='い',e=NULL where a='1';
のようにテーブル名は書いています。
投稿日時 - 2002-02-13 12:52:48
このQ&Aで解決しましたか?
-PR-
-PR-
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ