Home >Backend Development >PHP Tutorial >What is the use of keys when creating tables in wordpress/emlog?
<code>CREATE TABLE $wpdb->blogs ( blog_id bigint(20) NOT NULL auto_increment, site_id bigint(20) NOT NULL default '0', domain varchar(200) NOT NULL default '', path varchar(100) NOT NULL default '', registered datetime NOT NULL default '0000-00-00 00:00:00', last_updated datetime NOT NULL default '0000-00-00 00:00:00', public tinyint(2) NOT NULL default '1', archived tinyint(2) NOT NULL default '0', mature tinyint(2) NOT NULL default '0', spam tinyint(2) NOT NULL default '0', deleted tinyint(2) NOT NULL default '0', lang_id int(11) NOT NULL default '0', PRIMARY KEY (blog_id), KEY domain (domain(50),path(5)), KEY lang_id (lang_id) ) $charset_collate; CREATE TABLE {$db_prefix}reply ( id int(10) unsigned NOT NULL auto_increment, tid int(10) unsigned NOT NULL default '0', date bigint(20) NOT NULL, name varchar(20) NOT NULL default '', content text NOT NULL, hide enum('n','y') NOT NULL default 'n', ip varchar(128) NOT NULL default '', PRIMARY KEY (id), KEY gid (tid), KEY hide (hide) )</code>
Especially in the last piece of code, what does KEY gid (tid)
mean?
<code>CREATE TABLE $wpdb->blogs ( blog_id bigint(20) NOT NULL auto_increment, site_id bigint(20) NOT NULL default '0', domain varchar(200) NOT NULL default '', path varchar(100) NOT NULL default '', registered datetime NOT NULL default '0000-00-00 00:00:00', last_updated datetime NOT NULL default '0000-00-00 00:00:00', public tinyint(2) NOT NULL default '1', archived tinyint(2) NOT NULL default '0', mature tinyint(2) NOT NULL default '0', spam tinyint(2) NOT NULL default '0', deleted tinyint(2) NOT NULL default '0', lang_id int(11) NOT NULL default '0', PRIMARY KEY (blog_id), KEY domain (domain(50),path(5)), KEY lang_id (lang_id) ) $charset_collate; CREATE TABLE {$db_prefix}reply ( id int(10) unsigned NOT NULL auto_increment, tid int(10) unsigned NOT NULL default '0', date bigint(20) NOT NULL, name varchar(20) NOT NULL default '', content text NOT NULL, hide enum('n','y') NOT NULL default 'n', ip varchar(128) NOT NULL default '', PRIMARY KEY (id), KEY gid (tid), KEY hide (hide) )</code>
Especially in the last piece of code, what does KEY gid (tid)
mean?
From http://m.blog.csdn.net/article/details?id=51778816
key(sid,tid) represents the joint primary key, and the two fields must be unique as a whole