如何修复此 MYSQL//Phpmyadmin 错误? [复制]

Posted

技术标签:

【中文标题】如何修复此 MYSQL//Phpmyadmin 错误? [复制]【英文标题】:How do I fix this MYSQL//Phpmyadmin error? [duplicate] 【发布时间】:2021-12-27 04:07:24 【问题描述】:

所以我尝试对我的表执行一个 ALTER TABLE 命令,以添加一个日期列来存储发布的时间。每当我输入 SQL 代码时,它都会在 phpMyAdmin 中弹出此错误。我是初学者,如果有人可以帮助我,我真的很想。

原码:

ALTER TABLE posts 
ADD date datetime not null;

弹出的错误: #1292 - 不正确的日期值:“网站”列的“0000-00-00”。 “帖子”。第 1 行的“日期”

【问题讨论】:

【参考方案1】:

给一个默认值

ALTER TABLE posts ADD `date` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP

或者如果不需要默认值,添加允许NULL的列,使用适当的值更新,然后将列更改为NOT NULL

ALTER TABLE posts ADD `date` datetime
;
UPDATE posts 
SET `date` = NOW() -- or any suitable values
;
ALTER TABLE posts CHANGE `date` `date` datetime NOT NULL
;

【讨论】:

【参考方案2】:

您要添加的列不能是null。那么现有的行有什么价值呢?

您需要指定一个默认值,或者允许null 直到它以某种方式填充。

【讨论】:

以上是关于如何修复此 MYSQL//Phpmyadmin 错误? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何在mysql phpmyadmin中每天将记录从一个表复制到另一个表

如何修复由 Caused by: java.lang.NumberFormatException: For input string: "pets" 引起的 Asynctask 错

如何在 MySQL/phpMyAdmin 中恢复数据库?

如何使用 Docker-Compose 文件运行 Phpmyadmin、Mysql 和 Apache Tomcat?

如何在 MySQL (PhpMyAdmin) 的用户表中“散列”我的密码?

如何将犰狳库修复为 C++