Nếu bạn đang sử dụng SQL Server và bạn muốn sử dụng T-SQL để thay đổi kích thước của cột hiện có, thì bài viết này có thể giúp ích cho bạn.
Bằng cách “thay đổi kích thước của một cột hiện có”, ý tôi là thay đổi kích thước dữ liệu. Ví dụ:giả sử bạn có varchar(255)
nhưng bạn muốn tăng kích thước của nó lên varchar(500)
. Đây là những gì bạn cần làm trong trường hợp đó.
Tuyên bố ALTER TABLE
Nếu bạn đang thực hiện việc này với T-SQL, bạn cần sử dụng ALTER TABLE
tuyên bố. Câu lệnh này cho phép bạn thay đổi định nghĩa của bảng sau khi nó đã được tạo (và nó cũng có thể chứa dữ liệu).
Dưới đây là một ví dụ về việc thay đổi kích thước của một cột hiện có:
ALTER TABLE Tasks ALTER COLUMN TaskDescription varchar(500); GO
Ví dụ này sửa đổi Tasks
bảng bằng cách thay đổi kích thước của TaskDescription
cột.
Điều này rõ ràng giả định rằng cột (và bảng) đã tồn tại trong cơ sở dữ liệu. Nếu không, bạn sẽ gặp lỗi.
Kiểm tra kết quả
Bạn có thể kiểm tra kích thước cột bằng cách chạy truy vấn đối với INFORMATION_SCHEMA.COLUMNS
. Như thế này:
USE Solutions; SELECT COLUMN_NAME, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH, CHARACTER_OCTET_LENGTH FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'Tasks';
Kết quả:
COLUMN_NAME DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH --------------- --------- ------------------------ ---------------------- TaskId int null null TaskName nvarchar 255 510 TaskDescription varchar 500 500
Trong trường hợp này, chúng tôi chuyển sang cơ sở dữ liệu chính xác (Solutions
), sau đó chúng tôi truy vấn INFORMATION_SCHEMA.COLUMNS
để biết thông tin về các cột trong Tasks
bàn. Chúng tôi có thể thu hẹp điều này xuống chỉ cột mà chúng tôi quan tâm nếu có quá nhiều cột trong bảng, nhưng đối với ví dụ này, ba cột không có vấn đề gì.