Vấn đề:
Bạn muốn tạo một cột nhất định trong một bảng nhất định trong cơ sở dữ liệu.
Ví dụ:
Chúng tôi muốn tạo cột name
duy nhất trong bảng product
. Truy vấn dưới đây trình bày một cách để thực hiện.
Giải pháp 1
CREATE TABLE product ( id INT NOT NULL PRIMARY KEY, name VARCHAR(100) UNIQUE, producer VARCHAR(100), category VARCHAR(100) );
Thảo luận:
Trong ví dụ này, một cột nhất định (cột name
) là duy nhất bằng cách thêm mệnh đề UNIQUE vào cuối cột định nghĩa (name VARCHAR(100) UNIQUE
). Bảng mới này (trong ví dụ của chúng tôi:product
) sẽ chứa cột (trong ví dụ của chúng tôi:name
) lưu trữ các giá trị duy nhất trong các hàng.
Giải pháp 2:
ALTER TABLE product ADD CONSTRAINT UQ_product_name UNIQUE(name);
Thảo luận:
Trong ví dụ này, bảng product
đã tồn tại. Chúng tôi muốn sửa đổi bảng này và thêm một ràng buộc duy nhất vào cột name
. Điều này có thể thực hiện được bằng cách sử dụng ALTER TABLE
mệnh đề. Đầu tiên, chúng tôi viết ALTER TABLE, sau đó chúng tôi liệt kê tên của bảng (trong ví dụ của chúng tôi:product
), và tiếp theo, chúng tôi thêm mệnh đề ADD CONSTRAINT
với tên của ràng buộc duy nhất (trong ví dụ của chúng tôi:UQ_product_name
). Tiếp theo là từ khóa DUY NHẤT với cột / cột (trong ví dụ của chúng tôi là cột:name
) trong ngoặc đơn.
Bạn cũng có thể tạo một ràng buộc duy nhất nhiều cột. Đây là cách thực hiện:
Giải pháp 3:
ALTER TABLE product ADD CONSTRAINT UQ_product_name_producer UNIQUE(name, producer);
Thảo luận:
Trong ví dụ này, sản phẩm bảng được thay đổi bằng cách sử dụng ALTER TABLE
mệnh đề và mệnh đề ADD CONSTRAINT với tên của ràng buộc duy nhất (trong ví dụ của chúng tôi:UQ_product_name_producer
) theo sau là UNIQUE
từ khóa với danh sách các cột (trong ví dụ của chúng tôi có hai cột:name
và producer
) trong ngoặc đơn.