我有一张桌子:
table votes (
id,
user,
email,
address,
primary key(id),
);
现在我想让列用户,电子邮件,地址唯一(一起)。
如何在MySql中做到这一点?
当然这个例子只是…一个例子。所以请不要担心语义。
我有一张桌子:
table votes (
id,
user,
email,
address,
primary key(id),
);
现在我想让列用户,电子邮件,地址唯一(一起)。
如何在MySql中做到这一点?
当然这个例子只是…一个例子。所以请不要担心语义。
当前回答
这个教程对我很有用
ALTER TABLE table_name
ADD CONSTRAINT constraint_name UNIQUE (column1, column2, ... column_n);
https://www.mysqltutorial.org/mysql-unique-constraint/
其他回答
添加唯一索引需要:
1) table_name 2) index_name 3)要添加索引的列
ALTER TABLE `tablename`
ADD UNIQUE index-name
(`column1` ,`column2`,`column3`,...,`columnN`);
在你的情况下,我们可以创建唯一的索引如下:
ALTER TABLE `votes`ADD
UNIQUE <votesuniqueindex>;(`user` ,`email`,`address`);
你可以通过phpMyAdmin添加多列唯一索引。(我在4.0.4版本中进行了测试)
导航到目标表的结构页。向其中一列添加唯一索引。展开结构页底部的Indexes列表,以查看刚刚添加的惟一索引。单击编辑图标,在下面的对话框中,您可以向该唯一索引添加其他列。
这适用于mysql 5.5.32版本
ALTER TABLE `tablename` ADD UNIQUE (`column1` ,`column2`);
这个教程对我很有用
ALTER TABLE table_name
ADD CONSTRAINT constraint_name UNIQUE (column1, column2, ... column_n);
https://www.mysqltutorial.org/mysql-unique-constraint/
我是这样做的:
CREATE UNIQUE INDEX index_name ON TableName (Column1, Column2, Column3);
我对唯一index_name的约定是TableName_Column1_Column2_Column3_uindex。