如何解决对于整数的MySQL列,错误的整数值''并允许为null?
我发现了我的问题。我的本地MysqL在严格模式下运行。此线程的答案常规错误:1366使用Doctrine 2.1和Zend Formupdate的整数值不正确已修复该问题。
您正在使用MysqL吗?发生这种情况是因为MysqL在严格模式下运行。从PHPMyAdmin或您正在使用的任何数据库管理员运行以下查询,以检查数据库是否处于严格模式下:
SELECT @@GLOBAL.sql_mode;
SELECT @@SESSION.sql_mode;
如果返回包含STRICT_TRANS_TABLES
您可以尝试运行的内容:
SET @@global.sql_mode= 'NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
解决方法
我正在将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` (`
奇怪的是,表的架构是相同的。实际上,我使用生产机器的导出来创建本地数据库。
该字段baths_full
设置为TinyInt,无符号,允许为null,默认为null。要添加的一件事是,它看起来像在SQL插入语句Laravel中创建的那样,将空值视为空格。无论如何,我的生产机器都可以毫无问题地运行脚本,但是在本地不会运行。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。