简体   繁体   English

SQL语法错误外键

[英]SQL Syntax error foreign key

I've a problem, i try to connect 2 db table, and if I make the query for make a DB structure the answer is Syntax Error. 我有一个问题,我尝试连接2个db表,如果我查询make数据库结构,答案是语法错误。

I paste the code here, somebody can help me ? 我将代码粘贴到这里,有人可以帮助我吗?

DROP TABLE IF EXISTS album;
CREATE TABLE `album` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `title` varchar(30) DEFAULT NULL,
  `description` varchar(200) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=armscii8;

DROP TABLE IF EXISTS picture;
CREATE TABLE `picture` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `id_album` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`),
  FOREIGN KEY (`id_album`) REFERENCES album(id)
) ENGINE=InnoDB DEFAULT CHARSET=armscii8;

sorry for my bad english. 对不起,我的英语不好。

认为您的id_album必须具有unsigned bean,与album id相同

Just add Unsigned in Foreign key line as follows : 只需在外键行中添加Unsigned,如下所示:

DROP TABLE IF EXISTS album;
CREATE TABLE `album` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `title` varchar(30) DEFAULT NULL,
  `description` varchar(200) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=armscii8;

DROP TABLE IF EXISTS picture;
CREATE TABLE `picture` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `id_album` int(11) unsigned DEFAULT NULL,
  PRIMARY KEY (`id`),
  FOREIGN KEY (`id_album`) REFERENCES album(id)
) ENGINE=InnoDB DEFAULT CHARSET=armscii8;

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

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