php - MySQL 创建 DATETIME 类型的列

标签 php mysql datetime

我有一个管理员用户数据库,我想创建一个日期时间类型的列进行编辑,以了解何时编辑管理帐户,我将介绍 php 和 MySQLi 的时间,我在 phpmyadmin 上,当我尝试创建时它说的专栏:

#1292 - Incorrect datetime value: '0000-00-00 00:00:00' for column 'editado' at row 1

MySQL 代码是:

ALTER TABLE `admins` ADD `editado` DATETIME NOT NULL AFTER `password`;

尝试在 SQL 上执行但没有任何结果,我该怎么做?

最佳答案

如果添加列时表不为空,则需要先将该列添加为NULLABLE,更新表中所有为该列赋值的记录,然后才能将添加的列从NULLABLE更改为不为空。所以应该做这样的事情:

ALTER TABLE admins ADD editado DATETIME NULL AFTER password;
UPDATE admins SET editado = '1900-01-01 00:00:00';
ALTER TABLE admins MODIFY editado DATETIME NOT NULL;

不确定最后一个查询的语法是否正确,因为我不经常编写 MySQL,但这就是应该发生的情况。

关于php - MySQL 创建 DATETIME 类型的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48390154/

相关文章:

php - <>关于mysql密码

mysql - 不存在则插入,存在则更新

mysql表数据行到列

.net - sqlite-net 日期时间检索

php - 如何在Eloquent查询中根据相关模型数据添加条件?

php - PHP 和 mySQL 无法正常工作的文件上传 (.pdf),

MySQL 选择日期时间

powershell - 日期转换 yyyymmddhhmm+000

javascript - 如何将包含(图像标签和一些文本)的 HTML 代码或数据转换为图像以供下载

php - 更新 MySQL 字段中的 int