Database
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Database

Làm cách nào để tạo một cột duy nhất trong SQL?

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:nameproducer ) trong ngoặc đơn.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. RMAN không thành công với RMAN-06900 RMAN-06901 ORA-04031

  2. Các bước trong thiết kế cơ sở dữ liệu là gì?

  3. Ký hiệu Barker

  4. Chốt APPEND_ONLY_STORAGE_INSERT_POINT

  5. 10 tài nguyên hữu ích cho những ai muốn biết thêm về SQL