【问题标题】:Design table Relation N to N in mysql [closed]mysql中的设计表关系N到N [关闭]
【发布时间】:2014-09-12 12:13:57
【问题描述】:

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

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' 附近使用正确的语法) news('id'), FOReign Key('idtag') 引用标签('idta' at line 4

【问题讨论】:

  • 你的问题是什么?
  • 这个查询有错误!!!
  • 所以,发布错误。这里没有人能猜到它是什么,对吧?
  • 除了那个错误,你还定义了多个 PK

标签: php mysql sql database-design


【解决方案1】:
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>

【讨论】:

    猜你喜欢
    • 2011-11-08
    • 1970-01-01
    • 1970-01-01
    • 2010-11-14
    • 2023-03-14
    • 1970-01-01
    • 2016-05-12
    • 1970-01-01
    • 2018-04-28
    相关资源
    最近更新 更多