我在创建带有生日字段的用户表时犯了一个错误,我没有放置 DATE 数据类型,而是放置了一个 VARCHAR!
所以现在我的用户表看起来像这样:
CREATE TABLE IF NOT EXISTS users
(
id INT UNSIGNED NOT NULL,
birthdate VARCHAR (200) NOT NULL,
PRIMARY KEY (id)
) DEFAULT CHARSET=utf8;
Run Code Online (Sandbox Code Playgroud)
它填充如下(样本):
INSERT INTO users (id, birthdate) VALUES
(1,'1991-01-23'),
(2,'yyyy-01-23'),
(3,'1991-mm-23'),
(4,'1991-01-dd'),
(5,''),
(6,'1991-01-d3'),
(7,'1983-05-23'),
(8,'1991-0m-23'),
(9,'19yy-01-23'),
(10,'y991-01-23');
Run Code Online (Sandbox Code Playgroud)
现在我想将每个不正确的生日更新为 NULL,或者设置一个默认值,如 2020-01-01。在这里查看我的 sqlfiddle 。