Hardevsinh Mori Ответов: 2

Исключение Sql: строковые и двоичные данные будут усечены


typedb varchar(max) not null


вышеупомянутое поле с именем typedb имеет максимальный размер для хранения данных, но sql дает вышеупомянутое исключение, и данные составляют всего 200 символов

что же делать?

Есть какие-нибудь предложения, пожалуйста?

Что я уже пробовал:

typedb varchar(max) not null

2 Ответов

Рейтинг:
11

OriginalGriff

Начните с просмотра команды INSERT, которую вы используете для ввода данных.
Если поле VARCHAR (MAX) и данные содержат всего 200 символов, оно должно легко поместиться - это означает, что ваша команда INSERT пытается сделать одну из трех вещей:
1) Вставьте неверные данные. Двоичные данные вместо символа могут вызвать это.
2) вставить не в ту таблицу или БД
3) вставить не в ту колонку.

Третий вариант является наиболее вероятным, особенно если вы не указываете имена столбцов при вставке. Если ваш запрос выглядит так:

INSERT INTO MyTable VALUES (v1, v2)
SQL попытается вставить данные в столбцы, начинающиеся слева. Если в этом примере у вас более двух столбцов, возможно, он пытается вставить ваши данные не в тот столбец. Всегда указывайте столбцы:
INSERT INTO MyTable (MyColumn1, MyColumn2) VALUES (v1, v2)


[no name]

Спасибо @Original Griff проблема была в моем заявлении insert и данных столбца. Спасибо
для изучения знаний о insert statement это наиболее ценно для меня.

OriginalGriff

Пожалуйста!

Рейтинг:
0

CPallini

Сообщение об ошибке довольно ясно: данные, которые вы пытаетесь поместить в такое поле, слишком велики для самого поля. Проверьте свой оператор insert.