что называется KEY - PullRequest
1 голос
/ 15 мая 2010
 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;

Привет, приведенный выше запрос является открытым с открытым исходным кодом, я знаю первичный ключ, внешний ключ, уникальный, но Я НЕ УВЕРЕН, ЧТО ЭТО

KEY <code>group_id (group_id, staff_id)

Пожалуйста, скажите мне, это имя ограничения ....

Ответы [ 2 ]

3 голосов
/ 15 мая 2010

Это синоним INDEX

1 голос
/ 15 мая 2010

Это индекс, объединяющий два столбца group_id и staff_id, но называется group_id. Думайте об этом как об уникальном идентификаторе, но MySQL не обязывает этот столбец быть уникальным. Кроме того, способ, которым БД будет проверять этот ключ, будет в порядке group_id, а затем staff_id, а не наоборот, поэтому убедитесь, что ваши запросы отражают это (т. Е. Выполнение заказа только для staff_id не будет быстрее выполнения заказа). по group_id, а затем staff_id).

Если вы спрашиваете о **, это ничего не значит для MySQL.

Только что увидел комментарий Божо, этой ссылки должно быть достаточно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...