SQL表中的外键?

时间:2015-02-10 10:58:24

标签: sql key

在某些书中,我遇到了这个“类别”表,我不知道最后两行是什么。我不知道它是外键还是别的。非常感谢。值得注意的是,应用程序中其他表中的其他任何地方都没有提到cat_parent_id和cat_name。

CREATE TABLE IF NOT EXISTS 'categories' (
    'id' int(10) unsigned NOT NULL auto_increment,
    'parent_id' int(11) NOT NULL default '0',
    'name' varchar(50) character NOT NULL,
    'description' varchar (200) character NOT NULL,
    'image' varchar(255) character NOT NULL,
    PRIMARY KEY ('id'),
    KEY 'cat_parent_id' ('parent_id'),
    KEY 'cat_name' ('name')
    );

1 个答案:

答案 0 :(得分:0)

这似乎是MySQL语法,单引号混合后退。如果您尝试运行此代码,则会出错。但是,我会假设单引号确实是后退(虽然它们根本不需要)。

MySQL中的key关键字在表达式中的列上构建索引。这是一种简写的说法:

create index cat_parent_id on categories(parent_id);
create index cat_name on categories(name);

它很方便,因为该语句是create table语句的一部分,而不是单独的语句。

它相当于此上下文中的关键字index,并且大多数数据库都支持一些执行此操作的方法(尽管不一定是key关键字)。