MySQL 错误 1366:1366 Incorrect integer value

错误提示:General error: 1366 Incorrect integer value: '' for column 'pay_type' at row 1 (SQL:

INSERT INTO `issues` (`player_game_id`, `urgency_degree`, `source`, `channel_forum`, `issue_type`, `pay_type`, `status`, `issue_pic`, `updated_at`, `created_at`)
VALUES (3006, 1, 0, '', 3003, '', 2, '', '2015-11-18 14:08:27', '2015-11-18 14:08:27')

)

字段source, pay_type的默认值都是0

这个问题在我本机会出现而在线上环境并不会出现

后来发现是因为两者的配置文件不一样,本地的my.cnf文件的sql-mode的值多了一个STRICT_TRANS_TABLES,会比较严格,不允许向默认值指定为数字的字段插入空值,而线上的my.cnf的配置会使插入的空值自动转换成0

posted @ 2015-11-18 14:48  joy696163  阅读(780)  评论(0编辑  收藏  举报