【问题标题】:what is called KEY什么叫KEY
【发布时间】:2010-05-15 06:49:56
【问题描述】:
 CREATE TABLE `ost_staff` (
  `staff_id` int(11) unsigned NOT NULL auto_increment,
  `group_id` int(10) unsigned NOT NULL default '0',
  `dept_id` int(10) unsigned NOT NULL default '0',
  `username` varchar(32) collate latin1_german2_ci NOT NULL default '',
  `firstname` varchar(32) collate latin1_german2_ci default NULL,
  `lastname` varchar(32) collate latin1_german2_ci default NULL,
  `passwd` varchar(128) collate latin1_german2_ci default NULL,
  `email` varchar(128) collate latin1_german2_ci default NULL,
  `phone` varchar(24) collate latin1_german2_ci NOT NULL default '',
  `phone_ext` varchar(6) collate latin1_german2_ci default NULL,
  `mobile` varchar(24) collate latin1_german2_ci NOT NULL default '',
  `signature` varchar(255) collate latin1_german2_ci NOT NULL default '',
  `isactive` tinyint(1) NOT NULL default '1',
  `isadmin` tinyint(1) NOT NULL default '0',
  `isvisible` tinyint(1) unsigned NOT NULL default '1',
  `onvacation` tinyint(1) unsigned NOT NULL default '0',
  `daylight_saving` tinyint(1) unsigned NOT NULL default '0',
  `append_signature` tinyint(1) unsigned NOT NULL default '0',
  `change_passwd` tinyint(1) unsigned NOT NULL default '0',
  `timezone_offset` float(3,1) NOT NULL default '0.0',
  `max_page_size` int(11) NOT NULL default '0',
  `created` datetime NOT NULL default '0000-00-00 00:00:00',
  `lastlogin` datetime default NULL,
  `updated` datetime NOT NULL default '0000-00-00 00:00:00',
  PRIMARY KEY  (`staff_id`),
  UNIQUE KEY `username` (`username`),
  KEY `dept_id` (`dept_id`),
  KEY `issuperuser` (`isadmin`),
  KEY `group_id` (`group_id`,`staff_id`)
) ENGINE=MyISAM AUTO_INCREMENT=35 DEFAULT CHARSET=latin1 COLLATE=latin1_german2_ci;

您好,上面的查询是 osticket 开源的, 我知道主键、外键、唯一但我不确定这是什么

KEY group_id (group_id,staff_id)

请告诉我,这个约束名称....

【问题讨论】:

    标签: sql mysql key


    【解决方案1】:

    INDEX的同义词

    【讨论】:

    • 我可以在这个答案上看到一个明显的后续问题 :-)
    【解决方案2】:

    它是一个组合两列 group_id 和 staff_id 的索引,但称为 group_id。将其视为唯一标识符,但 MySQL 并不强制该列是唯一的。此外,数据库检查此键的方式将按照 group_id 然后是 staff_id 的顺序,而不是相反,因此请确保您的查询反映了这一点(即单独为 staff_id 下订单不会比下订单快按 group_id,然后是 staff_id)。

    如果你问的是 **,那在 MySQL 中没有任何意义。

    刚看到博卓的评论,那个链接应该够了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-23
      • 2012-08-17
      • 2014-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多