当前位置: 首页 > 知识库问答 >
问题:

SQL错误:ORA-00904::标识符3无效

谭绍晖
2023-03-14

我正在尝试使用此查询创建一个表(customer)到数据库,

CREATE TABLE customers(
  "customer_id" VARCHAR2(20),
  f_name VARCHAR2(30),
    CONSTRAINT f_name_not_null NOT NULL,
  l_name VARCHAR2(30),
CONSTRAINT l_name_not_null NOT NULL,
  mobile_no VARCHAR2(30),
    CONSTRAINT mobile_no_not_null NOT NULL,
  address VARCHAR2(30),
  CONSTRAINT address_not_null NOT NULL,
  CONSTRAINT customer_pk PRIMARY KEY(customer_id),
  CONSTRAINT mobile_no_address_unique UNIQUE(mobile_no,address));

我得到以下回复:

错误报告-SQL错误:ORA-00904::标识符00904无效。00000-%s:无效标识符

共有1个答案

壤驷阳冰
2023-03-14

这个说法有两个问题

首先是引用列的用法不一致(如@a_horse_和_no_name在评论中所述)

第二个问题是列约束不应与列定义用逗号分隔

注释中有更改的正确语句是

CREATE TABLE customers(
  /*"*/customer_id/*"*/ VARCHAR2(20),
  f_name VARCHAR2(30) /*,*/
    CONSTRAINT f_name_not_null NOT NULL,
  l_name VARCHAR2(30)/*,*/
CONSTRAINT l_name_not_null NOT NULL,
  mobile_no VARCHAR2(30)/*,*/
    CONSTRAINT mobile_no_not_null NOT NULL,
  address VARCHAR2(30) /*,*/
  CONSTRAINT address_not_null NOT NULL,
  CONSTRAINT customer_pk PRIMARY KEY(customer_id),
  CONSTRAINT mobile_no_address_unique UNIQUE(mobile_no,address)); 

有趣的是,你看到的错误与第二个问题有关,解决它后,你会得到第一个问题的错误,更具体:

 ORA-00904: "CUSTOMER_ID": invalid identifier
 类似资料:
  • 创建此表后,我正在尝试添加外键 我想使用Alter table创建的外键是Sailnumber: ALTER表成员添加外键(sailnumber)引用船(sailnumber) sailnumber是table boat的主键,如下所示 然而,我得到了这个错误SQL错误: ORA-00904:"SAILNUMBER":无效的标识符,我不知道为什么我得到有人能告诉我哪里出错了吗?

  • 有人能帮我找出为什么这段代码返回一个SQLOracle ORA-00904:无效的索引符错误吗?查询在没有Country='阿根廷'的情况下有效,但我需要按此值向下过滤。有人能给我指出正确的方向吗?

  • Oracle 11g Express Edition..创建表时出错 ORA-00904:无效标识符

  • 我已经在虚拟XP中安装了Oracle 10g,并使用 并且成功地创建了表。但是当我试图通过简单的查询获取值时,如 我得到的错误就像 ORA-00904:"bbb":无效标识符 我不能理解我在这里做错了什么。

  • 我写以下查询作为源在我的ADF。我得到以下错误: 错误[42S22][Microsoft][ODBC Oracle Wire Protocol driver][Oracle]ORA-00904::标识符无效 需要找出错误在哪里吗?

  • 我正在使用一个应用程序使用和第一种方法与。我正在使用包,成功映射db模型,但当我尝试从获取数据时,得到错误 ORA-00904:“m”。“Id”:无效标识符 Oracle数据库版本:Oracle数据库12c标准版发布12.2.0.1.0-64bit生产 代码: LinQ正在生成以下查询: 由于这不是PL/Sql查询的正确语法,因此获得错误ORA-00904:"m"。"id":无效的标识符。 有没有