Tôi có thể thay đổi một cột từ NOT NULL thành NULL mà không bỏ nó không?


98

Cần thay đổi bảng để cho phép null trên một cột - nhưng không thể bỏ cột ... tôi có thể làm điều này không? Đang thử một cái gì đó như:

ALTER TABLE myTable MODIFY myColumn NULL;

Nhưng không có kết quả....

Câu trả lời:


200
ALTER TABLE myTable ALTER COLUMN myColumn {DataType} NULL

50

Chắc chắn bạn có thể.

ALTER TABLE myTable ALTER COLUMN myColumn int NULL

Chỉ cần thay thế int cho bất kỳ kiểu dữ liệu nào mà cột của bạn là.


1
Thực ra câu trả lời của bạn là đúng. nhưng không được chấp nhận là câu trả lời hay nhất. phhhh. nguyên nhân này (ALTER TABLE myTable ALTER COLUMN myColumn {DataType} NULL) không hoạt động
UfukSURMEN

Tôi đã thử với alter columnvà nó không hoạt động với máy chủ mysql mới nhất. Tôi đã thử modify columnvà nó hoạt động. Kỳ lạ ...
Kostas Andrianos

1
@UfukSURMEN, {DataType} có nghĩa là bạn nên đặt bất kỳ loại dữ liệu nào thay vì đặt loại dữ liệu đó. Các câu trả lời về cơ bản là giống nhau, Mark chỉ giải thích thêm về bản thân (điều mà lẽ ra anh ấy phải trả lời được chấp nhận, nhưng đó không phải là cuộc gọi của tôi).
PrinceTyke

@PrinceTyke Chính xác.
UfukSURMEN

-1

Đối với MYSQL

ALTER TABLE myTable MODIFY myColumn {DataType} NULL

không biết tại sao câu trả lời này bị hạ cấp, tên cột MODIFY hoạt động cho mySql chứ không phải tên cột ALTER
Venkat

@Venkat Tôi nghĩ vì câu hỏi được gắn thẻ sql-server.
orangecaterpillar
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.