
1 yemoluo 2016-03-20 16:58:08 +08:00 我这里没报错,你把错误贴出来 |
2 kn007 2016-03-20 17:02:07 +08:00 我记得 5.7 的 SQLMODE 默认禁用了不安全的 TIMESTAMP |
3 kn007 2016-03-20 17:02:36 +08:00 比如 0000-00-00 00:00:00 这种。 重定义下 sqlmode 就行了 |
4 patrickstar OP @GTim 'create_db_tables.sql': Invalid default value for 'accessed' |
5 pubby 2016-03-20 18:05:12 +08:00 设置 sql_mode NO_ENGINE_SUBSTITUTION 试试 my.cnf 加上 sql-mode="NO_ENGINE_SUBSTITUTION" |
6 patrickstar OP @kn007 改成 accessed timestamp NOT NULL default '0000-00-00 00:00:00' 也不行,看来得配置 sql-mode 试一下 |
7 patrickstar OP @pubby 谢谢,我晚上回去试一下 |
8 kn007 2016-03-20 18:12:00 +08:00 @patrickstar 。。。肯定不是这样啊,我晕。 禁用了不安全的 TIMESTAMP ,比如 0000-00-00 00:00:00 这种。 句子要这样看,不好意思。。 定义下 sqlmode 为: sql_mode="ONLY_FULL_GROUP_BY,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" |
9 wingyiu 2016-03-20 18:19:42 +08:00 CREATE TABLE IF NOT EXISTS access_address ( user varchar(255) default NULL, address varchar(255) default NULL, netmask varchar(255) default 'FF.FF.FF.FF', updated int(11) NOT NULL, accessed int(11) NOT NULL ) ENGINE=MyISAM; INSERT ... ... VALUES( ...., UNIX_TIMESTAMP()) |
10 soli 2016-03-20 19:33:41 +08:00 好像只能第一个 timestamp 类型是 『 default CURRENT_TIMESTAMP 』。 不过我这里如下定义是没问题的: CREATE TABLE xxx ( ... ctime TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, mtime TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ); |
11 Schaffer 2016-03-20 19:39:06 +08:00 `create_time` timestamp not null default current_timestamp, `update_time` timestamp not null default current_timestamp on update current_timetamp mysql 版本: mysql Ver 14.14 Distrib 5.7.11, for osx10.11 (x86_64) using EditLine wrapper |
12 patrickstar OP |