我已经使用Brew在我的mac上安装percona-server进行本地开发
┌─(veilig@Jamies-MacBook-Air:s018)──────────────(~/api.foo.com)─┐
└─(13:25:%)── brew info percona-server ──(Wed,Sep03 - feature/users)─┘
percona-server: stable 5.6.19-67.0 (bottled)
我试图运行此查询
create table `courses` (
`id` varchar(36) not null,
`title` varchar(255) not null,
`created_at` timestamp default 0 not null,
`updated_at` timestamp default 0 not null,
`tokens` int not null default '0',
`product_id` int null,
`track_id` varchar(36) not null
) default character set utf8 collate utf8_unicode_ci
以及因为updated_at
而必须创建timestamp default 0
列时的窒息。 sql stmt是在我的Laravel 4.2 PHP应用程序中创建的。
有没有办法放宽这些限制才能使其发挥作用?
这是确切的错误
veilig@localhost (api_foo_com) > create table `courses` (`id` varchar(36) not null, `title` varchar(255) not null, `created_at` timestamp default 0 not null, `updated_at` timestamp default 0 not null, `tokens` int not null default '0', `product_id` int null, `track_id` varchar(36) not null) default character set utf8 collate utf8_unicode_ci;
ERROR 1067 (42000): Invalid default value for 'created_at'
当我们在我的同事数据库上尝试此操作时,我们不会遇到此问题。他正在跑步:
mysql Ver 14.14 Distrib 5.5.38, for debian-linux-gnu (x86_64) using readline 6.2
答案 0 :(得分:0)
必须从我的sql-mode
(或MySQL配置所在的位置)删除两个/etc/my.cnf
,以便允许laravel迁移正常工作。
NO_ZERO_DATE
和NO_ZERO_IN_DATE