对于整数并允许为null的MySQL列,整数值''是否不正确?

Chr*_*gia 5 php mysql sql laravel laravel-4

我正在努力将CSV插入表格中.我对CSV中的内容没有任何控制权,而且很多字段都是空白的.例如,在我的第一个记录中,字段"baths_full"只是空的(两个逗号背靠背).

在运行MySQL 5.5.37的生产服务器上,它将记录baths_full作为空字段插入.在运行MySQL 5.6.19的本地计算机上,它给出了错误:

[Illuminate\Database\QueryException]
SQLSTATE[HY000]: General error: 1366 Incorrect integer value: '' for column 'baths_full' at row 1 (SQL: insert into `listings_queue` (`
Run Code Online (Sandbox Code Playgroud)

奇怪的是,表的模式是相同的.实际上,我使用生产机器的导出来创建本地数据库.

该字段baths_full设置为TinyInt,unsigned,allow null,默认为null.要添加的一件事是它看起来像在Laravel正在创建的SQL插入语句中,它将空值视为空格.无论如何,我的生产机器运行脚本没有问题,但在本地它不会运行.

Chr*_*gia 6

我发现了我的问题.我的本地MySQL以严格模式运行.这个帖子的答案(一般错误:1366不正确的整数值与Doctrine 2.1和Zend Form更新)修复了它.