这在MySQL 5.6中可以正常工作,但是可以这样做吗,并且可以适应未来吗?
create table test (`test_column` varchar(100)); insert into test values (now());
答案 0 :(得分:1)
尽管我们不能总是预测未来,但MySQL一直(而且很可能总是)会使用非常明确的ISO-8601 date format。
将日期值存储在字符串列中是一件很奇怪的事情,特别是如果您希望将其作为日期或日期时间。使用适当的列类型DATE
或DATETIME
作为本机表示形式可带来很多好处:更快的索引编制,更轻松的存储要求,自动验证以及与MySQL内置的各种日期函数的兼容性。
我想不出有充分的理由将日期表示为MySQL中任意的VARCHAR
列。