Sql 表或视图不存在错误,原因未知 DROP TABLE BASIC\u用户; 删除表管理员用户; 升降台设备; 落台洞; 投桌地牢; 跳台冒险; 删除表格作者; 删除表格字符组; 放下我的桌子; 删除表格MY_用户; 创建表MY_用户( 用户ID int不为空, nick varchar(255)不为空, 注册日期的日期默认当前日期, first_name varchar(255)不为空, 姓氏varchar(255), 电子邮件varchar(255)唯一, 年龄int不为空, 用户位置varchar(255), finished_adventures int默认值0不为空, 主键(用户ID) ); 创建表MY_字符( 字符\u ID int不为空, owner_ID int引用我的用户(用户ID), char\u name varchar(255)不为空, race varchar(255)不为空, char_类varchar(255)不为空, 字符秩int不为空, hp int不为空, 状态int不为空, 检查(字符秩=0), 检查(hp=0), 检查(状态=0), 主键(字符标识) ); 创建桌面设备( 设备ID int不为空, 所有者ID int引用我的字符(字符ID), 设备名称varchar(255)不为空, 设备类型varchar(255)不为空, 攻击int不为空, 防御int不为空, 主键(设备ID) ); 创建桌面副本( 地牢ID int不为空, 地牢位置瓦查尔(255), 地牢难度int不为空, 目标瓦查尔(2500), 状态int不为空, 地下城的创建者ID int引用作者(作者ID), 检查(地下城难度=0), 主键(副本ID) ); 创建表格冒险( 冒险ID int不为空, 名称varchar(255)不为空, 地址varchar(255)不为空, 冒险难度int不为空, 参与者ID int引用字符组(字符组ID), varchar探险队(2500), 创建者ID int引用作者(作者ID), 主键(冒险ID) ); 创建表格字符组( chargroup_ID int不为空, 组参与者ID int NOT NULL引用我的字符(字符ID) ); 创建表洞( 游戏室ID int不为空, cave_名称varchar(255)不为空, dm_ID int引用我的用户(用户ID), 地下城子整数引用地下城(地下城ID), 冒险号参考冒险号(冒险号), 洞穴创建日期默认当前日期不为空, 播放组int引用字符组(字符组ID), 主键(游戏室ID) ); 创建表格作者( 作者ID int不为空, 电子邮件varchar(255)唯一, nick varchar(255)独一无二 ); 创建表基本用户( 基本\u ID int主键引用我的用户(用户\u ID) ); 创建表管理员用户( admin_ID int主键引用我的用户(用户ID), 权限int不为空, 专业化varchar(255) );

Sql 表或视图不存在错误,原因未知 DROP TABLE BASIC\u用户; 删除表管理员用户; 升降台设备; 落台洞; 投桌地牢; 跳台冒险; 删除表格作者; 删除表格字符组; 放下我的桌子; 删除表格MY_用户; 创建表MY_用户( 用户ID int不为空, nick varchar(255)不为空, 注册日期的日期默认当前日期, first_name varchar(255)不为空, 姓氏varchar(255), 电子邮件varchar(255)唯一, 年龄int不为空, 用户位置varchar(255), finished_adventures int默认值0不为空, 主键(用户ID) ); 创建表MY_字符( 字符\u ID int不为空, owner_ID int引用我的用户(用户ID), char\u name varchar(255)不为空, race varchar(255)不为空, char_类varchar(255)不为空, 字符秩int不为空, hp int不为空, 状态int不为空, 检查(字符秩=0), 检查(hp=0), 检查(状态=0), 主键(字符标识) ); 创建桌面设备( 设备ID int不为空, 所有者ID int引用我的字符(字符ID), 设备名称varchar(255)不为空, 设备类型varchar(255)不为空, 攻击int不为空, 防御int不为空, 主键(设备ID) ); 创建桌面副本( 地牢ID int不为空, 地牢位置瓦查尔(255), 地牢难度int不为空, 目标瓦查尔(2500), 状态int不为空, 地下城的创建者ID int引用作者(作者ID), 检查(地下城难度=0), 主键(副本ID) ); 创建表格冒险( 冒险ID int不为空, 名称varchar(255)不为空, 地址varchar(255)不为空, 冒险难度int不为空, 参与者ID int引用字符组(字符组ID), varchar探险队(2500), 创建者ID int引用作者(作者ID), 主键(冒险ID) ); 创建表格字符组( chargroup_ID int不为空, 组参与者ID int NOT NULL引用我的字符(字符ID) ); 创建表洞( 游戏室ID int不为空, cave_名称varchar(255)不为空, dm_ID int引用我的用户(用户ID), 地下城子整数引用地下城(地下城ID), 冒险号参考冒险号(冒险号), 洞穴创建日期默认当前日期不为空, 播放组int引用字符组(字符组ID), 主键(游戏室ID) ); 创建表格作者( 作者ID int不为空, 电子邮件varchar(255)唯一, nick varchar(255)独一无二 ); 创建表基本用户( 基本\u ID int主键引用我的用户(用户\u ID) ); 创建表管理员用户( admin_ID int主键引用我的用户(用户ID), 权限int不为空, 专业化varchar(255) );,sql,oracle,Sql,Oracle,错误: 已删除表BASIC_用户 已删除表ADMIN\u用户 桌子设备掉了下来 从命令中的第4行开始出错-DROP TABLE CAVE错误报告- SQL错误:ORA-00942:表或视图不存在 94200000-“表或视图不存在” *原因: *行动: 从命令中的第5行开始出错-删除表副本错误 报表-SQL错误:ORA-00942:表或视图不存在 94200000-“表或视图不存在” *原因: *行动: 从命令中的第6行开始出错-删除表格错误 报表-SQL错误:ORA-00942:表或视图不存在

错误:

已删除表BASIC_用户

已删除表ADMIN\u用户

桌子设备掉了下来

从命令中的第4行开始出错-DROP TABLE CAVE错误报告- SQL错误:ORA-00942:表或视图不存在 94200000-“表或视图不存在” *原因:
*行动:

从命令中的第5行开始出错-删除表副本错误 报表-SQL错误:ORA-00942:表或视图不存在 94200000-“表或视图不存在” *原因:
*行动:

从命令中的第6行开始出错-删除表格错误 报表-SQL错误:ORA-00942:表或视图不存在 94200000-“表或视图不存在” *原因:
*操作:删除表作者

表字符组已删除

表中我的_字符已删除

表MY_用户已删除

表MY_用户已创建

创建的表MY_字符

创建的表设备

从命令中的第50行开始出错-创建表副本(
地牢ID int不为空,地牢位置varchar(255),
地下城难度智力不为空,目标varchar(2500),状态智力 不为空,副本创建者ID int引用作者(作者ID),
检查(地下城难度=0),主要 键(dungeon_ID))错误报告-SQL错误:ORA-00942:表或视图 不存在 94200000-“表或视图不存在” *原因:
*行动:

在命令-创建表冒险(
冒险ID int不为空,冒险名称varchar(255)不为空,
冒险_位置varchar(255)不为空,冒险_难度int 不为NULL,参与者ID int引用 角色组(角色组ID),冒险组(2500),
creator\u ID int引用作者(AUTHOR\u ID),主键 (冒险ID))错误报告-SQL错误:ORA-00942:表或视图 不存在 94200000-“表或视图不存在” *原因:
*操作:创建表格字符组

在命令-创建表洞(
游戏室ID int不为空,洞穴名称varchar(255)不为空,dm\u ID int引用MY_用户(用户ID),dungeon_子int引用 地下城(地下城ID),冒险子整数参考 冒险(冒险ID),洞穴创建日期默认值 当前\u日期不为空,正在播放\u组int引用 角色组(角色组ID),主键(游戏室ID))错误 报表-SQL错误:ORA-00942:表或视图不存在 94200000-“表或视图不存在” *原因:
*操作:创建表作者

用户创建的基本表格

表ADMIN\u用户已创建


知道“表或视图不存在”错误的原因吗?

如果不先定义引用的表,就不能定义外键。因此,您所需要做的就是对DDL进行重新排序,以便在引用之前定义所有表。SQL不直接允许前向引用

DROP TABLE BASIC_USER;
DROP TABLE ADMIN_USER;
DROP TABLE EQUIPMENT;
DROP TABLE CAVE;
DROP TABLE DUNGEON;
DROP TABLE ADVENTURE;
DROP TABLE AUTHOR;
DROP TABLE CHARACTER_GROUP;
DROP TABLE MY_CHARACTER;
DROP TABLE MY_USER;

CREATE TABLE MY_USER (
  user_ID int NOT NULL,
  nick varchar(255) NOT NULL,
  date_of_registration date DEFAULT current_date,
  first_name varchar(255) NOT NULL,
  last_name varchar(255),
  email varchar(255) UNIQUE, 
  age int NOT NULL,
  user_location varchar(255),
  finished_adventures int DEFAULT 0 NOT NULL,
  PRIMARY KEY(user_ID)
);

CREATE TABLE MY_CHARACTER (
  character_ID int NOT NULL,
  owner_ID int REFERENCES MY_USER(user_ID),
  char_name varchar(255) NOT NULL,
  race varchar(255) NOT NULL,
  char_class varchar(255) NOT NULL,
  char_rank int NOT NULL,
  hp int NOT NULL,
  status int NOT NULL,
  CHECK (char_rank <= 99 AND char_rank >= 0),
  CHECK (hp <= 100 AND hp >= 0),
  CHECK (status <= 1 AND status >= 0),
  PRIMARY KEY(character_ID)
);

CREATE TABLE EQUIPMENT (
  equipment_ID int NOT NULL,
  owner_ID int REFERENCES MY_CHARACTER(character_ID),
  equipment_name varchar(255) NOT NULL,
  equipment_type varchar(255) NOT NULL,
  attack int NOT NULL,
  defense int NOT NULL,
  PRIMARY KEY(equipment_ID)
);

CREATE TABLE DUNGEON (
  dungeon_ID int NOT NULL,
  dungeon_location varchar(255),
  dungeon_difficulty int NOT NULL,
  goal varchar(2500),
  status int NOT NULL,
  dungeon_creator_ID int REFERENCES AUTHOR(author_ID),
  CHECK (dungeon_difficulty <= 5 AND dungeon_difficulty >= 0),
  PRIMARY KEY(dungeon_ID)
);

CREATE TABLE ADVENTURE (
  adventure_ID int NOT NULL,
  adventure_name varchar(255) NOT NULL,
  adventure_location varchar(255) NOT NULL,
  adventure_difficulty int NOT NULL,
  participant_ID int REFERENCES CHARACTER_GROUP(chargroup_ID),
  adventure_goal varchar(2500),
  creator_ID int REFERENCES AUTHOR(author_ID),
  PRIMARY KEY (adventure_ID)
);

CREATE TABLE CHARACTER_GROUP (
  chargroup_ID int NOT NULL,
  group_participant_ID int NOT NULL REFERENCES MY_CHARACTER(character_ID)
);

CREATE TABLE CAVE (
  game_room_ID int NOT NULL,
  cave_name varchar(255) NOT NULL,
  dm_ID int REFERENCES MY_USER(user_ID),
  dungeon_sub int REFERENCES DUNGEON(dungeon_ID),
  adventure_sub int REFERENCES ADVENTURE(adventure_ID),
  cave_creation_date date DEFAULT current_date NOT NULL,
  playing_group int REFERENCES CHARACTER_GROUP(chargroup_ID),
  PRIMARY KEY(game_room_ID)
);

CREATE TABLE AUTHOR (
  author_ID int NOT NULL,
  email varchar (255) UNIQUE,
  nick varchar (255) UNIQUE
);

CREATE TABLE BASIC_USER(
  basic_ID int PRIMARY KEY REFERENCES MY_USER(user_ID)
);

CREATE TABLE ADMIN_USER(
  admin_ID int PRIMARY KEY REFERENCES MY_USER(user_ID),
  permissions int NOT NULL,
  specialization varchar(255)
);
可能存在这样一种情况,即您可能必须定义循环依赖项。因此,最好先定义all表,然后定义apply const
DROP TABLE BASIC_USER;
DROP TABLE ADMIN_USER;
DROP TABLE EQUIPMENT;
DROP TABLE CAVE;
DROP TABLE DUNGEON;
DROP TABLE ADVENTURE;
DROP TABLE AUTHOR;
DROP TABLE CHARACTER_GROUP;
DROP TABLE MY_CHARACTER;
DROP TABLE MY_USER;



CREATE TABLE AUTHOR (
  author_ID int NOT NULL,
  email varchar (255) UNIQUE,
  nick varchar (255) UNIQUE
);

CREATE TABLE MY_USER (
  user_ID int NOT NULL,
  nick varchar(255) NOT NULL,
  date_of_registration date DEFAULT current_date,
  first_name varchar(255) NOT NULL,
  last_name varchar(255),
  email varchar(255) UNIQUE, 
  age int NOT NULL,
  user_location varchar(255),
  finished_adventures int DEFAULT 0 NOT NULL,
  PRIMARY KEY(user_ID)
);



CREATE TABLE BASIC_USER(
  basic_ID int PRIMARY KEY REFERENCES MY_USER(user_ID)
);

CREATE TABLE ADMIN_USER(
  admin_ID int PRIMARY KEY REFERENCES MY_USER(user_ID),
  permissions int NOT NULL,
  specialization varchar(255)
);

CREATE TABLE MY_CHARACTER (
  character_ID int NOT NULL,
  owner_ID int REFERENCES MY_USER(user_ID),
  char_name varchar(255) NOT NULL,
  race varchar(255) NOT NULL,
  char_class varchar(255) NOT NULL,
  char_rank int NOT NULL,
  hp int NOT NULL,
  status int NOT NULL,
  CHECK (char_rank <= 99 AND char_rank >= 0),
  CHECK (hp <= 100 AND hp >= 0),
  CHECK (status <= 1 AND status >= 0),
  PRIMARY KEY(character_ID)
);

CREATE TABLE EQUIPMENT (
  equipment_ID int NOT NULL,
  owner_ID int REFERENCES MY_CHARACTER(character_ID),
  equipment_name varchar(255) NOT NULL,
  equipment_type varchar(255) NOT NULL,
  attack int NOT NULL,
  defense int NOT NULL,
  PRIMARY KEY(equipment_ID)
);

CREATE TABLE DUNGEON (
  dungeon_ID int NOT NULL,
  dungeon_location varchar(255),
  dungeon_difficulty int NOT NULL,
  goal varchar(2500),
  status int NOT NULL,
  dungeon_creator_ID int REFERENCES AUTHOR(author_ID),
  CHECK (dungeon_difficulty <= 5 AND dungeon_difficulty >= 0),
  PRIMARY KEY(dungeon_ID)
);

CREATE TABLE CHARACTER_GROUP (
  chargroup_ID int NOT NULL,
  group_participant_ID int NOT NULL REFERENCES MY_CHARACTER(character_ID)
);

CREATE TABLE ADVENTURE (
  adventure_ID int NOT NULL,
  adventure_name varchar(255) NOT NULL,
  adventure_location varchar(255) NOT NULL,
  adventure_difficulty int NOT NULL,
  participant_ID int REFERENCES CHARACTER_GROUP(chargroup_ID),
  adventure_goal varchar(2500),
  creator_ID int REFERENCES AUTHOR(author_ID),
  PRIMARY KEY (adventure_ID)
);

CREATE TABLE CAVE (
  game_room_ID int NOT NULL,
  cave_name varchar(255) NOT NULL,
  dm_ID int REFERENCES MY_USER(user_ID),
  dungeon_sub int REFERENCES DUNGEON(dungeon_ID),
  adventure_sub int REFERENCES ADVENTURE(adventure_ID),
  cave_creation_date date DEFAULT current_date NOT NULL,
  playing_group int REFERENCES CHARACTER_GROUP(chargroup_ID),
  PRIMARY KEY(game_room_ID)
);