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

Mysql 将NOW()插入VARCHAR列可以吗?,mysql,Mysql,这在MySQL5.6中运行良好,但这样做可以吗?它是否经得起未来的考验 create table test (`test_column` varchar(100)); insert into test values (now()); 创建表test(`test_column`varchar(100)); 插入测试值(现在为()); 虽然我们不能总是预测未来,但MySQL一直都在使用,而且很可能永远都会使用指定的 在字符串列中存储日期值是一件相当奇怪的事情,特别是如果您希望它是日期或日期时间。使用

这在MySQL5.6中运行良好,但这样做可以吗?它是否经得起未来的考验

create table test (`test_column` varchar(100)); insert into test values (now()); 创建表test(`test_column`varchar(100)); 插入测试值(现在为());
虽然我们不能总是预测未来,但MySQL一直都在使用,而且很可能永远都会使用指定的

在字符串列中存储日期值是一件相当奇怪的事情,特别是如果您希望它是日期或日期时间。使用适当的列类型,无论是
DATE
还是
DATETIME
,因为本机表示提供了很多好处:更快的索引、更轻的存储要求、自动验证以及与MySQL内置的各种日期函数的兼容性


我想不出一个好的理由来表示date是MySQL中任意的
VARCHAR
列。

应该是。因为now的格式在不久的将来不会更改。我不建议您创建一个列作为字符串,但保存数据的是DateTime。为什么不直接使用
DateTime
?这并不常见,但可以这样做。你需要什么?