Ако използвате SQL Server и искате да използвате T-SQL, за да промените размера на съществуваща колона, тази статия може да ви помогне.
Под „промяна на размера на съществуваща колона“ имам предвид промяна на размера на данните. Например, да речем, че имате varchar(255)
но искате да увеличите размера му до varchar(500)
. Ето какво трябва да направите в този случай.
Изявлението ALTER TABLE
Ако правите това с T-SQL, трябва да използвате ALTER TABLE
изявление. Този израз ви позволява да промените дефиницията на таблица, след като тя вече е създадена (и може също да съдържа данни).
Ето пример за промяна на размера на съществуваща колона:
ALTER TABLE Tasks ALTER COLUMN TaskDescription varchar(500); GO
Този пример модифицира Tasks
таблица чрез промяна на размера на TaskDescription
колона.
Това очевидно предполага, че колоната (и таблицата) вече съществуват в базата данни. В противен случай ще получите грешка.
Проверете резултатите
Можете да проверите размера на колоната, като изпълните заявка срещу INFORMATION_SCHEMA.COLUMNS
. Като това:
USE Solutions; SELECT COLUMN_NAME, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH, CHARACTER_OCTET_LENGTH FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'Tasks';
Резултат:
COLUMN_NAME DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH --------------- --------- ------------------------ ---------------------- TaskId int null null TaskName nvarchar 255 510 TaskDescription varchar 500 500
В този случай преминаваме към правилната база данни (Solutions
), след което правим заявка за INFORMATION_SCHEMA.COLUMNS
за информация относно колоните в Tasks
маса. Можехме да стесним това само до колоната, която ни интересува, ако имаше твърде много колони в таблицата, но за този пример три колони не са проблем.