我有一个管理员用户数据库,我想创建一个日期时间类型的列进行编辑,以了解何时编辑管理帐户,我将介绍 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/