mysql DATE 数据类型没有取正确的值

标签 mysql sql mysql-workbench

我已经创建了一个表..这是代码

create table ddate(
ddate date);

在那之后我尝试像这样插入值

insert into ddate(ddate)value(2010-04-12);

但是它给了我一个警告

insert into ddate(ddate)value(2010-04-12) 1 row(s) affected, 1 warning(s): 1264 Out of range value for column 'ddate' at row 1 0.001 sec

最佳答案

日期文字包含在单引号中,就像字符串文字一样。

insert into ddate(ddate)value('2010-04-12')
                              ^          ^

如果文字周围没有单引号,MySQL 会将其评估为数值,即计算结果:

2010 - 04 - 12 

这使得原始语句本质上等同于

insert into ddate(ddate)value( 1994 )

关于mysql DATE 数据类型没有取正确的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36959701/

相关文章:

mysql - 去掉表 1 的部分并显示表 2 的部分

mysql - 检查mysql用户是否存在

java - 无法在 IntelliJ IDEA 中连接到 MySQL

sql - 亚马逊 dynamoDb 是否适合像系统这样的评论

mysql - 我如何设置 mySQL Workbench 的样式

mysql - SQL SELECT 查询在 mysql 中不起作用

php - 准备数据以在数据库中插入 ST_GeomFromText (Codeigniter + MySql)

SQL Server 记录行访问最佳实践

sql - 如何在 SQL Server 中创建外键?

mysql - 在 Windows 中远程访问 MySQL 服务器