MySQL双列唯一键[重复]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL双列唯一键[重复]相关的知识,希望对你有一定的参考价值。
这个问题在这里已有答案:
我知道我可以制作两列唯一键,但这并不是我想要的。
我希望那例如,如果col1='1', col2='2'
那么col1='1', col2='2'
不能有另一行,但完全有可能做到以下几点:
+--------+--------+
| col1 | col2 |
+--------+--------+
| 1 | 1 |
| 1 | 2 |
| 2 | 1 |
| 2 | 2 |
+--------+--------+
虽然这是不可能的:
+--------+--------+
| col1 | col2 |
+--------+--------+
| 1 | 1 |
| 1 | 1 |
+--------+--------+
制作两个唯一键不是一个选项,因为在col1='1', col2='1'
和col1='1', col2='2'
col1
是相同的,如果两者都是唯一键则不允许。
答案
你需要composite unique index
。
ALTER TABLE tablename ADD UNIQUE KEY `uidx` (`col1`, `col2`);
另一答案
您只需要在两列col1
和col2
之间声明一个唯一索引:
CREATE TABLE Table1
(
`col1` int,
`col2` int,
UNIQUE `unique_index`(`col1`, `col2`)
);
如果您尝试将1, 1
插入col1和col2,您将收到以下错误:
Duplicate entry '1-1' for key 'unique_index'
你可以自己尝试qazxsw poi。
以上是关于MySQL双列唯一键[重复]的主要内容,如果未能解决你的问题,请参考以下文章
#导入Word文档图片#值得收藏:当向数据库导入大量数据时,mysql主键唯一键重复插入,如何丝滑操作并不导入重复数据呢