Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 每次我创建一个表时,时间戳都会在更新时自动添加_Mysql_Sql_Database_Timestamp_Create Table - Fatal编程技术网

Mysql 每次我创建一个表时,时间戳都会在更新时自动添加

Mysql 每次我创建一个表时,时间戳都会在更新时自动添加,mysql,sql,database,timestamp,create-table,Mysql,Sql,Database,Timestamp,Create Table,当我创建一个带有timestamp属性的表时,它会自动添加一个ON-UPDATE属性。我不想在编辑该行时更新该列。当我创建更新时不执行任何操作的表时,如何在.sql中手动设置 CREATE TABLE test( ... date_added timestamp NOT NULL, ... ); 这就是为什么首先要使用TIMESTAMP列的原因,它们具有这样自动分配的特殊属性 如果不希望出现这种行为,请改用DATETIME。这

当我创建一个带有timestamp属性的表时,它会自动添加一个ON-UPDATE属性。我不想在编辑该行时更新该列。当我创建更新时不执行任何操作的表时,如何在.sql中手动设置

CREATE TABLE test(
    ...

    date_added    timestamp
                  NOT NULL,
    ...
);

这就是为什么首先要使用
TIMESTAMP
列的原因,它们具有这样自动分配的特殊属性


如果不希望出现这种行为,请改用
DATETIME
。这些方法还有其他优点,比如根据32位时间值从现在开始实际工作18年。

如果在插入时将列定义为非空且未提供值,则将其设置为现在。将列定义更改为NULL或提供值。详细信息:Wait是
timestamp
timestamp
两种不同的东西?MySQL的关键字不区分大小写,所以不,它们是相同的东西。SQL关键字,包括列类型,传统上是全大写的。datetime有时区吗?我真的对时区感到困惑,因为我的服务器在PST时间,而我在AEST时间。基本规则是始终以UTC在服务器上存储数据,并根据应用层中的用户首选项映射到本地时间。这是因为在MySQL中,这些字段没有烘焙时区信息,而烘焙时区信息非常非常困难,因为时区会以各种不可预测且通常是无意义的方式发生变化。