CREATE TABLE Student (
Student_id INT NOT NULL PRIMARY KEY,
campus_id INT NOT NULL,
trainning_site_id INT NOT NULL,
full_name VARCHAR(20) NOT NULL ,
age INT NOT NULL,
email VARCHAR(50) NOT NULL
);
CREATE TABLE car(
rego_number VARCHAR(20) NOT NULL PRIMARY KEY,
owner_id INT NOT NULL,
owner_name VARCHAR(20) NOT NULL,
CONSTRAINT fk1_car FOREIGN KEY (owner_id) REFERENCES student (student_id)
);
CREATE TABLE campus (
campus_id INT NOT NULL PRIMARY KEY,
campus_location VARCHAR(30) NOT NULL
);
CREATE TABLE trainning_site(
trainning_site_id INT NOT NULL PRIMARY KEY,
trainning_site_location VARCHAR(30) NOT NULL
);
ALTER TABLE Student ADD CONSTRAINT fkl_student FOREIGN KEY (campus_id) REFERENCES campus (campus_id);
ALTER TABLE Student ADD CONSTRAINT fk2_student FOREIGN KEY (trainning_site_id) REFERENCES trainning_site(trainning_site_id);
希望能帮忙解决
1452 错误是
错误原因: 插入外键字段的字段值在主键字段中不存在。
解决办法: 检查插入数据或更新数据的语句, 注意检查次表中外键字段的值对应主表中的主键字段中是否存在.
无法保存提示的原因是你设置了外键,将外键去掉。新的SQL如下:
CREATE TABLE Student (
Student_id INT NOT NULL PRIMARY KEY,
campus_id INT NOT NULL,
trainning_site_id INT NOT NULL,
full_name VARCHAR(20) NOT NULL ,
age INT NOT NULL,
email VARCHAR(50) NOT NULL
);
CREATE TABLE car(
rego_number VARCHAR(20) NOT NULL PRIMARY KEY,
owner_id INT NOT NULL,
owner_name VARCHAR(20) NOT NULL,
);
CREATE TABLE campus (
campus_id INT NOT NULL PRIMARY KEY,
campus_location VARCHAR(30) NOT NULL
);
CREATE TABLE trainning_site(
trainning_site_id INT NOT NULL PRIMARY KEY,
trainning_site_location VARCHAR(30) NOT NULL
);