Вчера я создал простую таблицу, используя приведенный ниже код:
create table DepartmentYT (
Department_ID int,
Department_Name varchar (255))
Затем я добавил к ней данные ниже (что соответствует максимальной длине символа для названия отдела выше):
insert into DepartmentYT
values
(1, 'IT'),
(2, 'Sales')
Однако, когда я выполнял этот запрос сегодня, из таблицы ничего не возвращалось
select * from DepartmentYT
Поэтому я попытался вставить данные обратно в:
insert into DepartmentYT
values
(1, 'IT'),
(2, 'Sales')
Но яя получил сообщение об ошибке «Строковые или двоичные данные будут усечены. Оператор завершен», что, как я понимаю, происходит при попытке вставить данные, длина которых превышает максимальную, указанную для типа данных.
Затем я запустил этот код, чтобы проверить максимальную длину символов, и заметил, что тип данных varachar DepartmentName теперь имеет максимальную длину символа 1 вместо 255, которые я указал вчера.
select * from information_schema.columns
WHERE TABLE_NAME = 'DepartmentYT'
COLUMN_NAME DATA_TYPE CHARACTER_MAXIMUM_LENGTH Department_ID int NULL Department_Name varchar 1
Кто-нибудь знает, почему это может быть?
Я мог бы бросить стол и воссоздать его, но я хотел бы знать, почему проблема могла возникнуть, и если кто-то испытывал нечто подобное / может знать, почему это произошло.
Заранее спасибо!