在mysql中设计表关系N到N.

时间:2014-07-21 20:46:44

标签: php mysql sql database-design

我将此表设计为新闻和标签之间的关系,请帮助我......

CREATE TABLE IF NOT EXISTS `newstag` (
  `idnews` int(10) unsigned PRIMARY KEY,
  `idtag` int(10)  unsigned PRIMARY KEY,
    FOreign Key('idnews') References news('id'), 
    FOreign Key('idtag') References tag('idtag')
)   ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
  

#1064 - 您的SQL语法出错;检查对应的手册       到您的MySQL服务器版本,以便在#"' idnews')附近使用正确的语法       新闻(' id'),FOreign Key(' idtag')引用标记(' idta' at line 4

1 个答案:

答案 0 :(得分:0)

mysql> CREATE TABLE news(id INT NOT NULL PRIMARY KEY);
Query OK, 0 rows affected (0.01 sec)

mysql> CREATE TABLE tag(idtag INT NOT NULL PRIMARY KEY);
Query OK, 0 rows affected (0.01 sec)

mysql>
mysql> CREATE TABLE IF NOT EXISTS `newstag` (
    ->   `idnews` int NOT NULL,
    ->   `idtag` int NOT NULL,
    ->   PRIMARY KEY (idnews,idtag),
    ->     Foreign Key (idnews) References news(id),
    ->     Foreign Key (idtag) References tag(idtag)
    -> )   ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
Query OK, 0 rows affected (0.01 sec)

mysql>