Мне нужно изменить размер двух столбцов varchar - один из них является частью PK, другой - ограниченным ограничением. Простой размер * не работает из-за CONSTRAINT. Поэтому я решил, что мне придется отказаться от ограничений, изменить таблицу и снова добавить ограничения. Или есть более легкое решение?Изменить размер столбца, который является частью ПК. Узнать длину столбца
Если нет, я бы лучше спал, если бы это было сделано только в том случае, если столбцы не имеют нужного размера. Как узнать, какая максимальная длина поддерживается столбцом varchar?
EDIT:
* Я попытался использовать ALTER TABLE users ALTER COLUMN name VARCHAR(50)
, чтобы изменить размер поддерживаемого на 50 символов вместо 30, что было немного коротким. Эта операция завершается с сообщением об ошибке, в котором указано, что name
является столбцом под ограничением UNIQUE UQ_users
.
Вместо использования SSMS его лучше изменить с помощью запроса. например: 'ALTER TABLE table_name ALTER COLUMN column_name datatype'. Я думаю, что это то, что вы хотите сделать правильно? –
@ KrishnrajRana Это то, что я хочу сделать, но он терпит неудачу. Я не играю в SSMS point & click adventure, я использую кнопку «новый запрос». – Alexander
Я думаю, что в вашем случае вам нужно временно отключить ограничение и изменить колонку. Просматривайте и тестируйте в adventureDB. –