PDO PHP - PDOException - 数值超出范围:1264 第 1 行第 'customer_id' 列的值超出范围



我正在尝试使用单个"多次插入"查询(PHP的PDO驱动程序)将大量行(400-2500)推入表中。

现在我收到此错误:

致命错误:未捕获的异常"PDOException",并显示消息 'SQLSTATE[22003]:数值超出范围:1264 超出范围的值 第 1 行的"customer_id"列

但据我所知,它没有任何地方尝试插入值1264,尤其是在列customer_id中。此外,我准备好的查询中的 ? s 数量与我传递给execute()调用的数组中的项目数量相匹配。

if ((!in_array(true, $this->issuesCallsErrors)) && (substr_count($this->sql, '?') === count($this->issues))) {
    var_dump(substr_count($this->sql, '?')); //int: 3600
    var_dump(count($this->issues));          //int: 3600
    echo $this->sql;
    print_r($this->issues);
    $query = DBCon::getCon()->query('TRUNCATE TABLE `issue`');
    $query = DBCon::getCon()->prepare($this->sql);
    $query->execute($this->issues);
    ...
}

编辑:一些极端信息

尝试插入customer_id的最大值为 193 。 如果我没记错的话,customer_id smallint(5), unsigned导致它允许最大值为 65535

1264 不是值。这是错误代码。也许您尝试插入customer_id值多于2147483647。

您可以尝试手动更改表格,并将"customer_id"从"int"更改为"bigint"

相关内容

  • 没有找到相关文章

最新更新