- 在创建表时使用UNIQUE约束来确保列中的值是唯一的。
CREATE TABLE Students ( student_id INT UNIQUE, student_name VARCHAR(50) );
- 在ALTER TABLE语句中添加UNIQUE约束。
ALTER TABLE Students ADD UNIQUE (student_id);
- 在CREATE INDEX语句中创建一个唯一的索引。
CREATE UNIQUE INDEX idx_student_id ON Students (student_id);
- 在创建复合唯一约束时,确保多个列的组合值是唯一的。
CREATE TABLE Orders ( order_id INT, customer_id INT, UNIQUE (order_id, customer_id) );
- 使用UNIQUE约束来确保列中的值不为空且唯一。
CREATE TABLE Employees ( employee_id INT UNIQUE NOT NULL, employee_name VARCHAR(50) NOT NULL );
- 使用UNIQUE约束来确保插入的值是唯一的。
INSERT INTO Students (student_id, student_name) VALUES (1, 'Alice') ON DUPLICATE KEY UPDATE student_name = 'Alice';
- 使用UNIQUE约束来确保更新的值是唯一的。
UPDATE Students SET student_name = 'Bob' WHERE student_id = 1;
- 使用UNIQUE约束来在两个表之间建立关系。
CREATE TABLE Orders ( order_id INT UNIQUE, customer_id INT, FOREIGN KEY (customer_id) REFERENCES Customers(customer_id) );
- 使用UNIQUE约束来确保只能插入不同值。
INSERT INTO Students (student_id, student_name) VALUES (1, 'Alice'), (2, 'Bob') ON DUPLICATE KEY IGNORE;
- 使用UNIQUE约束来确保在表中唯一列的值。
CREATE TABLE Employees ( employee_id INT UNIQUE, employee_name VARCHAR(50), PRIMARY KEY (employee_id) );