MYSQL建表失败的问题
来源:4-2 项目作业
王给白
2021-07-07 21:52:20
CREATE TABLE t_books(
book_id INT UNSIGNED PRIMARY KEY,
book_name VARCHAR(50) NOT NULL,
book_author VARCHAR(50) NOT NULL,
book_press VARCHAR(50) NOT NULL,
book_pressday DATE NOT NULL,
is_borrowed BOOLEAN NOT NULL DEFAULT FALSE,
borrow_time INT UNSIGNED NOT NULL
);
CREATE TABLE t_teacher(
teacher_id INT UNSIGNED PRIMARY KEY,
teacher_name VARCHAR(20) NOT NULL
);
CREATE TABLE t_student(
reader_id INT UNSIGNED PRIMARY KEY,
student_name VARCHAR(20) NOT NULL,
class_teacher_id INT UNSIGNED NOT NULL,
login_name VARCHAR(50) NOT NULL,
login_password VARCHAR(50) NOT NULL,
borrowed_book VARCHAR(50) NOT NULL,
borrow_time DATE NOT NULL,
should_return_time DATE NOT NULL,
return_time DATE,
FOREIGN KEY class_teacher_id REFERENCES t_teacher(teacher_id),
FOREIGN KEY borrowed_book REFERENCES t_books(book_name)
);
报错:
> 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'REFERENCES t_teacher(teacher_id),
FOREIGN KEY borrowed_book REFERENCES t_books' at line 11
> 时间: 0s
请问我t_student表建不了的原因是啥
1回答
同学,你好!
1、在创建外键时,当前表的字段名要添加括号
2、作为被引用的外键,它必须是唯一值,因此要给t_books表的book_name添加约束unique
祝学习愉快!
相似问题