首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么在唯一键的圆括号中重复列名?

为什么在唯一键的圆括号中重复列名?
EN

Stack Overflow用户
提问于 2016-04-10 08:30:40
回答 2查看 173关注 0票数 0

我在phpMyAdmin中创建了一个表。导出MySQL数据库时,惟一键被定义为UNIQUE KEY `id` (`id`),并在括号中重复列名:

代码语言:javascript
运行
复制
CREATE TABLE IF NOT EXISTS `beitraege` (
  `id` smallint(5) unsigned NOT NULL AUTO_INCREMENT,  // smallint? (65000!)
  ...
  PRIMARY KEY (`id`),
  UNIQUE KEY `id` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

为什么在括号中重复列名?那是什么意思?在MySQL中创建一个表(而不是使用phpMyAdmin),我什么时候需要使用这个括号重复,在某些情况下,括号可能包含不同列的名称?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-04-10 08:37:44

可以定义跨越多列的索引。假设您的表包含城市名称,并且希望确保名称是唯一的,但是当然,您可以在不同的州和国家拥有同名的城市。你可以通过以下方式实现这一点:

代码语言:javascript
运行
复制
UNIQUE KEY uniq_state_city (state, city)
票数 1
EN

Stack Overflow用户

发布于 2016-04-10 08:36:19

第一个id是索引的名称。括号中的第二个id是列名。请参阅创建表

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36527569

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档