![](/img/trans.png)
[英]MySql - how can you create a unique constraint on a combination of two values in two columns
[英]Combination of two columns as unique Key in mysql
需要通過組合mysql中的兩列來設置唯一鍵。 例如
id Ticket_number Code Name
1 5 123 a
2 5 89 b
3 2 89 a
4 8 123 c
在這里,我想通過組合兩者來將 Ticket_number 和 Code 設置為唯一。 即僅當再次出現相同的組合時才會出現錯誤。 票號和代碼可以重復,但組合不能重復。 這怎么可能。 請幫我。
這是創建語句:
CREATE TABLE arlog
( id
int(11) NOT NULL AUTO_INCREMENT, Ticket_Number
varchar(40) NOT NULL, Code
varchar(10) NOT NULL, Name
varchar(100) NOT NULL, PRIMARY KEY ( id
), UNIQUE KEY Ticket_Number
( Ticket_Number
) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;
創建一個唯一索引:
create unique index idx_table_ticket_code on table(ticket_number, code)
使用此代碼創建表
CREATE TABLE ticket(
id INT,
ticket_number INT,
code INT,
PRIMARY KEY (id)
)
CREATE UNIQUE INDEX index_name ON ticket(id, ticket_number, code);
這將作為一個復合鍵。
按照給定的
CREATE TABLE tablename (
id INT,
user_id INT,
setting_id INT,
NAME VARCHAR(255)
);
CREATE UNIQUE INDEX index_name ON tablename(user_id, setting_id);
INSERT INTO tablename (NAME,user_id,setting_id) VALUES ('1',34,15)
ON DUPLICATE KEY UPDATE NAME = '1', user_id = 34, setting_id = 15;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.