MySQL:什么是;“关键”;创建表时代表什么?
此代码摘录自KohanaJobs应用程序附带的database.sql文件MySQL:什么是;“关键”;创建表时代表什么?,mysql,kohana,Mysql,Kohana,此代码摘录自KohanaJobs应用程序附带的database.sql文件 CREATE TABLE IF NOT EXISTS `roles_users` ( `user_id` int(10) unsigned NOT NULL, `role_id` int(10) unsigned NOT NULL, PRIMARY KEY (`user_id`,`role_id`), KEY `fk_role_id` (`role_id`) ) ENGINE=InnoDB DEFAUL
CREATE TABLE IF NOT EXISTS `roles_users` (
`user_id` int(10) unsigned NOT NULL,
`role_id` int(10) unsigned NOT NULL,
PRIMARY KEY (`user_id`,`role_id`),
KEY `fk_role_id` (`role_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `sessions` (
`session_id` varchar(24) NOT NULL,
`last_active` int(10) unsigned NOT NULL,
`contents` text NOT NULL,
PRIMARY KEY (`session_id`),
KEY `last_active` (`last_active`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
为什么上面只使用了
键
?这仅仅是为了暗示它们被用作FKs吗?键当使用时,索引只有另一个词
键通常是索引的同义词。在列定义中给定键属性主键时,也可以将其指定为仅键。这是为了与其他数据库系统兼容而实现的
键使用时,索引只有另一个单词 键通常是索引的同义词。在列定义中给定键属性主键时,也可以将其指定为仅键。这是为了与其他数据库系统兼容而实现的
键行只是告诉MySQL,表的“last\u active”字段上应该有一个索引 MySQL中的外键是通过“”定义的,但除非您使用InnoDB作为存储引擎,否则不支持此定义
有关更多信息(老实说,我建议您阅读),您应该查看完整的语法页面。键行只是告诉MySQL,表的“last_active”字段上应该有一个索引 MySQL中的外键是通过“”定义的,但除非您使用InnoDB作为存储引擎,否则不支持此定义
有关更多信息(老实说,我建议阅读),您应该查看完整的语法页面。如果不使用zerofill,为什么显示宽度为10?为什么不将其声明为:user_id int unsigned not null?哦,为什么后面也有滴答声呢?@f00-对不起,我没听明白你的意思?@f00-谢谢你的网站。我将在以后的代码片段中使用它:)如果不使用zerofill,为什么显示宽度为10?为什么不将其声明为:user_id int unsigned not null?哦,为什么后面也有滴答声呢?@f00-对不起,我没听明白你的意思?@f00-谢谢你的网站。我将在以后的代码片段中使用它:)谢谢你的链接。我在谷歌上搜索了这个,但我只找到了外键定义,而不仅仅是键。谢谢你的链接。我在谷歌上搜索了这个,但我发现的只是外键定义,而不仅仅是键。我们可以为每个外键列设置多个
KEY
s吗?我们可以为每个外键列设置多个KEY
s吗?