【发布时间】:2014-04-08 07:40:13
【问题描述】:
我有以下表格:
如果不存在则创建表
books(
book_idvarchar(50) 非空,
book_titlevarchar(50) 非空,
courseidvarchar(50) 非空,外键 ('courseid') REFERENCES 'course'('course_id') ON DELETE CASCADE
) ENGINE=InnoDB 默认字符集=latin1;
如果不存在则创建表
course(
course_idvarchar(50) 非空,
yearvarchar(50) 非空,
sectionvarchar(50) 非空,主键 (
course_id)) ENGINE=InnoDB 默认字符集=latin1;
我想让 courseid(books 表下) 成为一个外键引用 course_id(course 表下),但收到以下错误消息:
**#1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在“courseid”附近使用的正确语法) 参考“课程”(“课程ID”)
) ENGINE=InnoDB DEFAULT CHARS' 在第 15 行**
我厌倦了几种声明外键的语法(使用 CONSTRAINT FOREIGN KEY,带/不带引号等),但没有一个有效。
我正在使用 Xamp WITH Server 版本:5.5.32 - MySQL Community Server (GPL)。
有人可以帮我解决这个问题吗?
谢谢
【问题讨论】:
-
编辑:语法错误已修复,但现在我收到此错误:“#1452 - 无法添加或更新子行:外键约束失败 (testlib2.books, CONSTRAINT books_ibfk_1 FOREIGN KEY (courseid ) REFERENCES course (course_id) ON DELETE CASCADE)"
-
NVM .. 修复它。必须为每个引用键添加值
标签: mysql sql database foreign-keys