mysql — PDO PDOException — Числовое значение вне диапазона: 1264 Значение вне диапазона для столбца ‘customer_id’ в строке 1

Я пытаюсь вставить много строк (400-2500) в таблицу с помощью одного запроса «множественная вставка» (PHP PDO Driver).

Теперь я получаю эту ошибку:

Неустранимая ошибка: необработанное исключение ‘PDOException’ с сообщением
‘SQLSTATE [22003]: числовое значение вне диапазона: 1264 вне диапазона значения
для столбца ‘customer_id’ в строке 1 ‘

Но, насколько я вижу, нигде не пытается вставить значение 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 если я не ошибаюсь.

1

Решение

1264 это не значение. Это код ошибки.
Возможно, вы пытаетесь вставить значение customer_id больше, чем 2147483647.

2

Другие решения

Вы можете попытаться изменить таблицу вручную и изменить с «int» на «bigint» для «customer_id»

1

По вопросам рекламы [email protected]