开发者

what is called KEY

 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 NU开发者_Python百科LL 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;

Hi the above query is the osticket open source one, i know primary key , foreign key , unique but AM NOT SURE WHAT IS THIS

KEY group_id (group_id,staff_id)

Please tell me, this constraints name....


It's a synonym of INDEX


It's a Index combining the two columns group_id and staff_id but is referred to as group_id. Think of it as a Unique Identifier, but MySQL does not enforce that column to be unique. Also, the way the db will check this key will be in the order of group_id and then staff_id, not the other way around, so make sure your queries reflect that (i.e. doing an order for staff_id alone will not be faster than doing an order by group_id and then staff_id).

If you're asking about the **, those mean nothing in MySQL.

Just saw Bozho's comment, that link should be sufficient.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜