Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL-使两个或更多列在一起成为唯一的_Mysql - Fatal编程技术网

MySQL-使两个或更多列在一起成为唯一的

MySQL-使两个或更多列在一起成为唯一的,mysql,Mysql,我正在创建一个数据库(MySQL),它将存储有关魔法的信息:收集卡片 目前,我将卡片名称设置为唯一,但我刚刚意识到,这是一个问题,因为许多卡片可以跨多个版本使用,例如: 我还存储卡所属的版本(作为链接到editions表的ID) 是否可以定义两列的组合name和edition唯一,而不仅仅是name,以便在尝试插入上述两张卡时不会出现问题 是的,您可以创建复合唯一索引: UNIQUE KEY `names_editions` (`name`,`edition`) 您可以这样做: UNIQUE

我正在创建一个数据库(MySQL),它将存储有关魔法的信息:收集卡片

目前,我将卡片
名称
设置为
唯一
,但我刚刚意识到,这是一个问题,因为许多卡片可以跨多个版本使用,例如:

我还存储卡所属的版本(作为链接到
editions
表的ID)


是否可以定义两列的组合
name
edition
唯一,而不仅仅是
name
,以便在尝试插入上述两张卡时不会出现问题

是的,您可以创建复合唯一索引:

UNIQUE KEY `names_editions` (`name`,`edition`)
您可以这样做:

UNIQUE KEY column_Name (column1,column2)