我正在尝试使用单个“多个插入”将很多行(400-2500)推入表格中。查询(PHP' PDO驱动程序)。
现在我收到了这个错误:
致命错误:未捕获的异常' PDOException'与消息 ' SQLSTATE [22003]:数值超出范围:1264超出范围值 对于列' customer_id'在第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
的最大值为193
。如果我没有弄错的话,customer_id
为smallint(5), unsigned
会导致其允许最大值为65535
。
答案 0 :(得分:3)
1264不是值。这是错误代码。 也许您尝试插入customer_id值超过2147483647。
答案 1 :(得分:1)
您可以尝试手动更改表格,并为“customer_id”从“int”更改为“bigint”