首页 > 解决方案 > 为什么我可以在 MySQL 的日期时间字段中插入字符串

问题描述

我有一个由下面的代码创建的表。

CREATE TABLE actor (
   actor_id  smallint(5)  NOT NULL PRIMARY KEY,
   first_name  varchar(45) NOT NULL,
   last_name  varchar(45) NOT NULL,
   last_update  DATETIME NOT NULL)

我使用下面的代码成功插入了两条记录。

insert ignore into actor
values (1, "PENELOPE", "GUINESS", "2006-02-15 12:34:33"),
       (2, "NICK", "WAHLBERG", "2006-02-15 12:34:33")

但是,我想知道为什么在将每条记录中的最后一个值的类型从字符串更改为 Datetime 之前,我不需要将其插入表中。当我尝试替换"2006-02-15 12:34:33"str_to_date("2006-02-15 12:34:33", "%Y-%m-%d %H:%i:%s"),插入仍然有效。

标签: mysqldatetimesql-insert

解决方案


推荐阅读