如何创建联结表并添加索引?

时间:2018-11-04 18:34:31

标签: sql sql-server indexing junction-table

下面是我用于创建两个表的代码,由于播放列表和歌曲是多对多关系,所以我继续创建联结表...

post_save

但是,当我尝试创建联结表时,会不断显示此错误消息:

  

消息156,级别15,状态1,第5行,关键字“ RESTRICT”附近的语法错误。

我想知道如何解决此问题,并且如果我想在Song表中为Genre创建索引,该怎么做?

1 个答案:

答案 0 :(得分:1)

似乎您正在使用SQL Server(根据代码和错误消息),但是来自docs online

语法:

| FOREIGN KEY   
    ( column [ ,...n ] )  
    REFERENCES referenced_table_name [ ( ref_column [ ,...n ] ) ]   
    [ ON DELETE { NO ACTION | CASCADE | SET NULL | SET DEFAULT } ]   
    [ ON UPDATE { NO ACTION | CASCADE | SET NULL | SET DEFAULT } ]   
    [ NOT FOR REPLICATION ] 
  

删除后{无操作|级联| SET NULL |默认设置 }   指定如果更改后的表中的行具有引用关系并且从父表中删除了被引用的行,将对这些行执行什么操作。默认值为“无操作”。

这就是为什么您收到错误Incorrect syntax near the keyword 'RESTRICT'并导致SQL Server没有ON DELETE RESTRICT

的原因