質問

PHPMyAdminを使用していますが、" timestamp"というMySQLテーブルの列があります。タイプ(サプライズ!)は TIMESTAMP で、「属性」では ON UPDATE CURRENT_TIMESTAMP に設定しました。

ただし、新しいレコードはそれぞれ次のようなタイムスタンプを取得します。

0000-00-00 00:00:00

デフォルト値を明示的にnoneに設定しましたが、保存して見に戻ると、上記のようにすべてゼロに設定されています。

関連するPHPは、このクエリでのページヒットを記録します。

$query = "INSERT INTO `pagehit` (user_id, pageurl)
VALUES ('" . $userid . "', '" . $pageurl . "')";

すべてがXAMPPの下で実行されています。

不足しているものは何ですか?

役に立ちましたか?

解決

  

不足しているものは何ですか?

更新しません:)

DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

とともに使用します

他のヒント

デフォルト値を属性に設定する代わりに、 CURRENT_TIMESTAMP に設定してみてください。

MySQLリファレンス

timestamp 列が挿入時間のみをキャプチャする場合は、使用のみ

timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP

それ以外の場合、変更時間の場合は、次のように使用します

timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

私の場合、このように動作します:

phpMyAdminの場合:

ALTER TABLE `name_table`  ADD  `name_row` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;

PHPシンタックスの行:

date('Y-m-d H:i:s')
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top