0

首先,对不起我的语言。

实际上,我尝试将使用 MySQL 4 的 PHP 应用程序移动到使用 MySQL 5.6.11 的另一台服务器上。

像很多人一样,我也遇到了问题:"Incorrect integer value: '' for column 'id' at row 1" 我知道问题出在哪里,但我的选择并不让我满意。

选择是:

  1. 回到 MySQL 4 - 不可能
  2. 修改了 my.ini 和 sql-mode。但是Mysql影响了很多基础,我认为降低安全性不是一个好主意。
  3. 将安全性放在 php 代码中,但这会花费很多时间。

您认为还有其他我没有找到的解决方案吗?

4

1 回答 1

0

INSERTid 为空字符串时会发生这种情况,如下所示:

INSERT INTO TABLE SET id = ''

为了解决这个问题,假设 id 是主键,在项目文件中搜索INSERT INTO以查找所有插入查询并从列列表中完全删除 id。然后在 MySQL 中创建 id 列auto increment

现在,当插入记录时,id 会自动获得一个唯一的整数值。

更新:

如果 id 不是主键,请再次在项目文件中搜索INSERT INTO并设置 id 值NULL

INSERT INTO TABLE SET id = NULL
于 2015-04-17T10:25:26.833 回答