第 30 行的错误 1067 (42000):“created_at”的默认值无效

时间:2021-02-05 19:44:37

标签: mysql sql heroku

部署到 Heroku 并且无法从 phpMyAdmin 上传 SQL 导出

SQL 导出设置:

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
START TRANSACTION;
SET time_zone = "+00:00";

创建表

CREATE TABLE `posts` (
  `id` int(11) NOT NULL,
  `user_id` int(11) NOT NULL,
  `title` varchar(255) NOT NULL,
  `body` text NOT NULL,
  `created_at` datetime NOT NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

错误信息

ERROR 1067 (42000) at line 30: Invalid default value for 'created_at'

使用此 tutorial on scotch.io 中的第 11 步

我觉得我在使用不同版本的 MySQL 时遇到问题。

2 个答案:

答案 0 :(得分:0)

https://dev.mysql.com/doc/refman/5.6/en/timestamp-initialization.html

created_at datetime NOT NULL DEFAULT CURRENT_TIMESTAMP。 <-- 它不是函数所以不要使用 ()

答案 1 :(得分:0)

我的 CLEARDB 版本似乎是 5.5,我无法在免费帐户下获得更新的版本。切换到 JAWSDB,我使用的是 5.7 的免费帐户(我认为)

How to update the version of the MySQL engine in ClearDB?

相关问题