1
GTim 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 1
@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_timestamp mysql 版本: mysql Ver 14.14 Distrib 5.7.11, for osx10.11 (x86_64) using EditLine wrapper |
12
patrickstar OP |