Обрезать данные, которые длиннее длины столбца в MySQL

Я вставляю данные в таблицу в MySQL, используя следующий запрос:

LOAD DATA INFILE 'file.csv' INTO TABLE CSVImport FIELDS TERMINATED BY ',' LINES  TERMINATED BY '\n';

Но когда длина определенного поля больше длины столбца, происходит сбой, как и ожидалось. Есть ли способ обрезать длину и установить длину столбца. Я знаю, что могу изменить sql_mode. Но когда я это сделаю, это повлияет и на другие проверки. А также это будет применяться ко всему серверу mysql.

1) Есть ли способ применить sql_mode только к определенной таблице?

2) Есть ли способ добиться этого без изменения sql_mode?


person Vimukthi Saranga    schedule 02.02.2017    source источник
comment
Почему бы не сделать колонку длиннее   -  person Strawberry    schedule 02.02.2017
comment
из-за проблем с хранением. Также мы не можем точно сказать наибольшую длину.   -  person Vimukthi Saranga    schedule 02.02.2017


Ответы (1)


ОБНОВЛЕНИЕ merry_parents SET mobile=SUBSTRING(мобильный, 1, 10)

из mysql: как обрезать длину поля

person syed umar    schedule 17.12.2019