繁体   English   中英

SQL表中的外键?

[英]Foreign Key in SQL table?

在一些书中,我遇到了这个“类别”表,但我不知道最后两行是什么。 我不知道这是外键还是其他。 非常感谢。 值得注意的是,在应用程序的其他表中其他任何地方都没有提到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')
    );

这似乎是MySQL语法,单引号混合在一起用于反勾号。 如果您尝试运行此代码,则会收到错误消息。 但是,我将假定单引号实际上是反引号(尽管根本不需要)。

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

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

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

在这种情况下,它等效于关键字index ,并且大多数数据库都支持执行此操作的某种方法(尽管不一定是key关键字)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM