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回答

时间,

2021-07-08

同学,你好!

1、在创建外键时,当前表的字段名要添加括号

http://img.mukewang.com/climg/60e65ae909ef607e10280079.jpg

2、作为被引用的外键,它必须是唯一值,因此要给t_books表的book_name添加约束unique

http://img.mukewang.com/climg/60e65b8f09577b3f06950276.jpg

祝学习愉快!

0

0 学习 · 4470 问题

查看课程