Dam*_*mon 4 mysql sql database foreign-keys
我有以下表格:
如果不存在则创建表
books(
book_idvarchar(50) 非空,
book_titlevarchar(50) 非空,
courseidvarchar(50) 非空,外键 ('courseid') REFERENCES 'course'('course_id') 删除级联
) 引擎=InnoDB 默认字符集=latin1;
如果不存在则创建表
course(
course_idvarchar(50) 非空,
yearvarchar(50) 非空,
sectionvarchar(50) 非空,主键 (
course_id)) 引擎=InnoDB 默认字符集=latin1;
我想让courseid(在books表下)成为引用course_id(在course表下)的外键,但收到以下错误消息:
**#1064 - 你的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在 ''courseid' 附近使用的正确语法) REFERENCES 'course'('course_id')
) ENGINE=InnoDB DEFAULT CHARS' 在第 15 行**
我厌倦了几种用于声明外键的语法(使用 CONSTRAINT FOREIGN KEY,带/不带引号等),但都没有奏效。
我使用的是 Xamp WITH Server 版本:5.5.32 - MySQL Community Server (GPL)。
有人可以帮我解决这个问题吗?
谢谢
使用反引号 ` 而不是单引号也首先创建课程表然后创建书籍表,以便书籍表可以指向课程表
CREATE TABLE IF NOT EXISTS course (
course_id VARCHAR (50) NOT NULL,
YEAR VARCHAR (50) NOT NULL,
section VARCHAR (50) NOT NULL,
PRIMARY KEY (course_id)
) ENGINE = INNODB DEFAULT CHARSET = latin1 ;
CREATE TABLE IF NOT EXISTS books (
book_id VARCHAR (50) NOT NULL,
book_title VARCHAR (50) NOT NULL,
courseid VARCHAR (50) NOT NULL,
FOREIGN KEY (`courseid`) REFERENCES `course` (`course_id`) ON DELETE CASCADE
) ENGINE = INNODB DEFAULT CHARSET = latin1 ;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10295 次 |
| 最近记录: |