小编Lio*_*ith的帖子

如何将出生日期字段的错误数据类型从 VARCHAR 更改为 DATE

我在创建带有生日字段的用户表时犯了一个错误,我没有放置 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 。

mysql datatypes varchar date mysql-5.7

5
推荐指数
1
解决办法
545
查看次数

标签 统计

datatypes ×1

date ×1

mysql ×1

mysql-5.7 ×1

varchar ×1