将NOW()插入VARCHAR列可以吗?

时间:2018-11-08 03:25:29

标签: mysql

这在MySQL 5.6中可以正常工作,但是可以这样做吗,并且可以适应未来吗?

create table test (`test_column` varchar(100));
insert into test values (now());

1 个答案:

答案 0 :(得分:1)

尽管我们不能总是预测未来,但MySQL一直(而且很可能总是)会使用非常明确的ISO-8601 date format

将日期值存储在字符串列中是一件很奇怪的事情,特别是如果您希望将其作为日期或日期时间。使用适当的列类型DATEDATETIME作为本机表示形式可带来很多好处:更快的索引编制,更轻松的存储要求,自动验证以及与MySQL内置的各种日期函数的兼容性。

我想不出有充分的理由将日期表示为MySQL中任意的VARCHAR列。