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

PDO PHP - PDOException - Numeric value out of range: 1264 Out of range value for column 'customer_id' at row 1

我正在尝试使用单个 'multiple insert' 查询(PHP 的 PDO 驱动程序)将大量行 (400-2500) 推送到 table。

现在我得到这个错误:

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[22003]: Numeric value out of range: 1264 Out of range value for column 'customer_id' at row 1'

但据我所知,它没有尝试在任何地方插入值 1264,尤其是在列 customer_id 中。 此外,我准备好的查询中 ? 的数量与我传递给 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 的最大值是 193customer_idsmallint(5), unsigned,如果我没记错的话,它允许最大值为 65535

1264 不是一个值。是错误代码。 也许您尝试插入 customer_id 值超过 2147483647.

您可以尝试手动更改 table 并将 "int" 更改为 "bigint" "customer_id"