2010-05-15 4 views
1
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

KEY group_id (group_id, staff_id)

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

ответ

3

это синоним INDEX

+0

Я вижу очевидный последующий вопрос по этому вопросу :-) – aioobe

+0

Я связал документы в этом отношении :) – Bozho

+0

о, правильно! пропустил это, извините! – aioobe

1

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

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

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

Смежные вопросы