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

正在创建2个表-ORA-00904::标识符无效

孔华池
2023-03-14

我正在尝试创建两个表:Person和Friend。

在朋友表中,我有一个复合主外键,它引用了Person表中的人身份。

请注意,我试图在Java(Eclipse IDE)中执行此操作。

我一直得到这个错误,当我试图创建的朋友表出于某种原因:

ORA-00904::标识符无效

  String createPersonalInformationTable = 
              "CREATE TABLE Persons("
            + "personId         INT NOT NULL, "
            + "email_userName   VARCHAR2(50) NOT NULL, "
            + "password         VARCHAR2(50) NOT NULL, "
            + "firstName        VARCHAR2(50) NOT NULL, "
            + "midlleName       VARCHAR2(50), "
            + "lastName         VARCHAR2(50) NOT NULL, "
            + "country          VARCHAR2(50) NOT NULL, "
            + "city             VARCHAR2(50) NOT NULL, "
            + "PRIMARY KEY (personId), "
            + "UNIQUE (email_userName)"
            + ")";

  String createFriendsTable =
          "CREATE TABLE Friends("
        + "personId     INT NOT NULL, "
        + "friendId     INT NOT NULL, "
        + "status       VARCHAR2(50) NOT NULL, "
        + "PRIMARY KEY (personId, friendId), "
        + "FOREIGN KEY (personId) REFERENCES Persons(personId), "
        + "FOREIGN KEY (friendId) REFERENCES Persons(personId), "           
        + ")";

共有1个答案

勾学博
2023-03-14
  String createFriendsTable =
          "CREATE TABLE Friends("
        + "personId     INT NOT NULL, "
        + "friendId     INT NOT NULL, "
        + "status       VARCHAR2(50) NOT NULL, "
        + "PRIMARY KEY (personId, friendId), "
        + "FOREIGN KEY (personId) REFERENCES Persons(personId), "
        + "FOREIGN KEY (friendId) REFERENCES Persons(personId), "           
                                                              ^
        + ")";

额外尾随逗号

 类似资料:
  • 问题内容: 我尝试使用Oracle数据库编写以下内部联接查询: 这给出了以下错误: 一个表的DDL为: 问题答案: 您的问题是那些有害的双引号。 Oracle SQL允许我们忽略数据库对象名称的大小写,只要我们创建它们时都使用大写的名称,或者不使用双引号即可。如果我们在脚本中使用大小写混合或小写并且将标识符括在双引号中,则当我们引用对象或其属性时,我们都被要求使用双引号和精确的大小写: tl; d

  • ORA-00904:“strdef”:无效标识符 > Oracle数据库版本为: Oracle Database 11g Enterprise Edition版本11.2.0.4.0-64位Production PL/SQL版本11.2.0.4.0-Production“Core 11.2.0.4.0 Production”TNS for Linux:版本11.2.0.4.0-Production

  • 我得到这个错误,而在Oracle数据库中执行查询: ORA-00904:“STRDEF”:无效标识符 > Oracle Database 11g Enterprise Edition 11.2.0.4.0版-64位生产PL/SQL 11.2.0.4.0版-生产“CORE 11.2.0.4.0生产”Linux版TNS:11.2.0.4.0版-生产NLSRTL 11.2.0.4.0版-生产 STRDE

  • 在PL/SQL中执行以下查询时,我得到ORA-00904:“\d$”:无效标识符错误。 我也尝试使用单引号,但仍然面临同样的错误。 有人能帮我解决这个问题吗

  • 问题内容: 1.在将row_val变量char值’Good’更新到表中时,得到无效的标识符错误2.在插入数字时,它工作正常,但字符串却出现错误3。 错误 ORA-00904:“良好”:标识符无效ORA-06512:在第43行ORA-06512:在“ SYS.DBMS_SQL”在第1721行 我想将此’good,son,r ,, happy’字符串中的每个单词插入一行中的单独列中 问题答案: 字符串

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