我在将 mysql 表从我自己的计算机环境传输到 godaddy 托管的 mysql 时遇到问题。正如您在下图中看到的,postDate 是一个具有默认 CURRENT_TIMESTAMP 的 DATETIME 类型,它在我的计算机上运行完美,使当前日期和时间成为默认值。
但是,当我尝试在我的托管站点上添加表格时,出现了您看到的错误。如果我将“Deafult”留空,它可以毫无问题地保存,但不能使用 CURRENT_TIMESTAMP。
https://i.gyazo.com/0a28032d1f6c6419d44eaf21cbc94607.png
知道这是为什么吗?
是否有其他方法可以将当前日期和时间保存为表格中的默认值?
我的计算机环境和托管站点上的所有表都使用 InnoDB。
谢谢!
编辑:
有人建议我从我的机器和托管站点获取 mysql 版本。
我的机器: https://i.gyazo.com/b1cdf582ee4d980fd68fd3773ccb4f6e.png
GoDaddy: https://i.gyazo.com/3e619a678b8d243e0f0d70b3788b2259.png
基本上我的机器是5.7.10版本,godaddy是5.5.45
最佳答案
你应该比较你和他们机器上的 MySQL 版本。
旧版本的 MySQL 不允许 CURRENT_TIMESTAMP
作为 DATETIME
列的默认值。
较新的版本可以。
获取您的版本:
SHOW VARIABLES LIKE "%version%";
当你知道它们是什么时发布。
关于mysql - 新表有问题,无法将默认值定义为 CURRENT_TIMESTAMP,但在我的本地环境中我可以,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35635106/