为了账号安全,请及时绑定邮箱和手机立即绑定

如何为MySQL datetime列设置默认值?

如何为MySQL datetime列设置默认值?

绝地无双 2019-06-18 13:33:35
如何为MySQL datetime列设置默认值?如何为MySQL datetime列设置默认值?在SQLServer中,getdate()..MySQL的等价物是什么?如果这是一个因素,我将使用MySQL5.x。
查看完整描述

3 回答

?
胡说叔叔

TA贡献1804条经验 获得超8个赞


现在可以使用datetime字段来实现这一点。MySQL 5.6.5,看看其他员额在下面.。

以前的版本不能用日期时间.

但是你可以用时间戳来做:

mysql> create table test (str varchar(32), ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP);

Query OK, 0 rows affected (0.00 sec)


mysql> desc test;

+-------+-------------+------+-----+-------------------+-------+

| Field | Type        | Null | Key | Default           | Extra |

+-------+-------------+------+-----+-------------------+-------+

| str   | varchar(32) | YES  |     | NULL              |       | 

| ts    | timestamp   | NO   |     | CURRENT_TIMESTAMP |       | 

+-------+-------------+------+-----+-------------------+-------+

2 rows in set (0.00 sec)


mysql> insert into test (str) values ("demo");

Query OK, 1 row affected (0.00 sec)


mysql> select * from test;

+------+---------------------+

| str  | ts                  |

+------+---------------------+

| demo | 2008-10-03 22:59:52 | 

+------+---------------------+

1 row in set (0.00 sec)


mysql>

*警告:如果您将一个列定义为默认状态,则需要始终为该列指定一个值,否则更新时该值将自动重置为“Now()”。这意味着,如果不希望更改值,则UPDATE语句必须包含“[您的列名]=[您的列名]”(或其他值),否则该值将变成“Now()”。很奇怪但却是真的。我希望这能帮到你。我使用的是5.5.56-MariaDB*


查看完整回答
反对 回复 2019-06-18
  • 3 回答
  • 0 关注
  • 1017 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信