字段Mysql有什么问题?

时间:2016-11-09 09:26:38

标签: mysql sql

当我尝试将dump SQL导入数据库时​​,我收到错误:

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

以下代码说明了表的结构:

CREATE TABLE `siga` (
  `id` int(11) NOT NULL,
  `type` int(11) NOT NULL,
  `pair` int(11) NOT NULL,
  `from` int(11) NOT NULL,
  `send` int(11) DEFAULT NULL,
  `ep` float NOT NULL,
  `tp` float NOT NULL,
  `sl` float NOT NULL,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` datetime DEFAULT NULL,
  `date` datetime NOT NULL,
  `closed_at` datetime DEFAULT NULL,
  `to` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

插入行"

INSERT INTO `siga` (`id`, `type`, `pair`, `from`, `send`, `ep`, `tp`, `sl`, `created_at`, `updated_at`, `date`, `closed_at`, `to`) VALUES
(3, 5, 1, 77, NULL, 1.2, 1.3, 1.4, '2016-11-01 15:04:19', '2016-11-02 08:52:22', '2016-11-18 15:04:00', NULL, NULL);

1 个答案:

答案 0 :(得分:1)

您的转储生成了此表定义,这很奇怪。

DEFAULT CURRENT_TIMESTAMP的列不能包含DATETIME数据类型,必须具有TIMESTAMP数据类型。

所以你需要这个列定义。

`created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP