在navicat中为datetime设置默认值的方法

46次阅读
没有评论

共计 901 个字符,预计需要花费 3 分钟才能阅读完成。

自动写代码机器人,免费开通

丸趣 TV 小编给大家分享一下在 navicat 中为 datetime 设置默认值的方法,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

在使用 navicat 设计表的字段时,是可以给字段设置默认值的,但是 datetime 类型类型的字段缺设置不了。

由于 MySQL 目前字段的默认值不支持函数,所以以 create_time datetime default now() 的形式设置默认值是不可能的。代替的方案是使用 TIMESTAMP 类型代替 DATETIME 类型。

TIMESTAMP 列类型自动地用当前的日期和时间标记 INSERT 或 UPDATE 的操作。如果有多个 TIMESTAMP 列,只有第一个自动更新。

自动更新第一个 TIMESTAMP 列在下列任何条件下发生:

1. 列值没有明确地在一个 INSERT 或 LOAD DATA INFILE 语句中指定。

2. 列值没有明确地在一个 UPDATE 语句中指定且另外一些的列改变值。(注意一个 UPDATE 设置一个列为它已经有的值,这将不引起 TIMESTAMP 列被更新,因为如果你设置一个列为它当前的值,MySQL 为了效率而忽略更改。)

3. 你明确地设定 TIMESTAMP 列为 NULL.

4. 除第一个以外的 TIMESTAMP 列也可以设置到当前的日期和时间,只要将列设为 NULL,或 NOW()。

所以把日期类型 选择成 timestamp 允许空就可以了

CREATE TABLE test ( uname varchar(50) NOT NULL,updatetime timestamp NULL DEFAULTCURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

  如果要在 navicat 下操作的话,将字段设置为 timestamp,然后默认值写上 CURRENT_TIMESTAMP 即可

看完了这篇文章,相信你对“在 navicat 中为 datetime 设置默认值的方法”有了一定的了解,如果想了解更多相关知识,欢迎关注丸趣 TV 行业资讯频道,感谢各位的阅读!

向 AI 问一下细节

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-16发表,共计901字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)