Данные слишком длинные для столбца, хотя правильное значение - PullRequest
0 голосов
/ 13 апреля 2020

Привет, я до сих пор удивляюсь этой проблеме.
ниже приведен код ошибки.

### SQL: INSERT INTO student    (id, name, student_data)   VALUES    (?, ?, ?)
### Cause: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'student_data' at row 1
; SQL []; Data truncation: Data too long for column 'student_data' at row 1; nested exception is com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'student_data' at row 1

student_data в таблице student имеет средний TEXT.
, а входные данные составляют около 74 000 байтов.

Слишком мало для ввода данных в таблицу. Я не хочу менять sql_mode, а размер пакета составляет около 1G, который я указал. Я думаю, что это идеально работает без ошибок.

что не так в моем коде?

Вот ДДЛ

CREATE TABLE `student` (
  `id` INT NOT NULL PRIMARY KEY,
  `name` varchar(200) NOT NULL,
  `student_data` MEDIUMTEXT NOT NULL
)

1 Ответ

0 голосов
/ 14 апреля 2020

Можете ли вы попробовать использовать приведенную ниже структуру таблицы

 CREATE TABLE `student` (
`id` INT NOT NULL PRIMARY KEY,
`name` varchar(200) NOT NULL,
`student_data` longtext NOT NULL
 )
...