CREATE TABLE BUILD_ADMIN_INFO( ID INT PRIMARY KEY, BUILD_ADMIN_NAME VARCHAR2 (10), SEX CHAR(2) NOT NULL, PHONE VARCHAR2(20) NOT NULL, DORMID INT, BUILDID INT ); CREATE TABLE DORM_INFO( ID INT PRIMARY KEY , DORM_INFO VARCHAR2(10) NOT NULL, CHIEF VARCHAR2(10) NOT NULL, FLOOR VARCHAR2(100) NOT NULL, BED_NUMBER VARCHAR2(100) NOT NULL, ACTUAL_NUMBER VARCHAR2(100) NOT NULL, FREEBED VARCHAR2(100) NOT NULL, AIR_CONDITIONER CHAR(2) NOT NULL, BUILDID INT, BUILD_ADMINID INT );报错是找不到父键
时间: 2023-12-07 17:03:39 浏览: 100
根据您提供的建表语句,建议您检查一下插入数据时 BUILD_ADMIN_INFO 表中的 DORMID 和 BUILDID 是否存在于对应的父表中。如果不存在,就会出现找不到父键的错误。
另外,建议您在建表时设置外键约束,这样可以避免插入不合法的数据。例如,在 BUILD_ADMIN_INFO 表中,可以将 DORMID 和 BUILDID 设置为外键,指向对应的父表的主键,如下所示:
```
CREATE TABLE BUILD_ADMIN_INFO(
ID INT PRIMARY KEY,
BUILD_ADMIN_NAME VARCHAR2 (10),
SEX CHAR(2) NOT NULL,
PHONE VARCHAR2(20) NOT NULL,
DORMID INT,
BUILDID INT,
FOREIGN KEY (DORMID) REFERENCES DORM_INFO(ID),
FOREIGN KEY (BUILDID) REFERENCES BUILD_INFO(ID)
);
```
在 DORM_INFO 表中也可以类似地设置外键约束。这样可以确保插入的数据符合父表的要求,避免了出现找不到父键的错误。
阅读全文