You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

创建customer_details_1035表时触发ORA-00904: invalid identifier错误,请求问题排查与解决方案

解决ORA-00904: invalid identifier错误的小细节

嘿,我帮你找出问题啦!你的CREATE TABLE语句里有个很容易忽略的语法小错误——最后一列cust_email的定义末尾多了个逗号,这直接导致了Oracle抛出ORA-00904无效标识符错误。

问题根源

看你原语句的最后两行:

cust_email Varchar2(30), )

Oracle解析SQL时,会认为列定义之间的逗号后面必须跟着下一个列的标识符(列名),但你这里逗号后面直接是右括号,Oracle找不到预期的合法列名,就会报错“invalid identifier”。这种错误提示确实有点误导性,但本质就是标点符号的问题。

修正后的完整语句

只需要去掉cust_email Varchar2(30)后面的逗号就行,修正后的代码如下:

CREATE TABLE customer_details_1035 ( 
    cust_ID Number(5) NOT NULL, 
    cust_last_name Varchar2(20) NOT NULL, 
    cust_mid_name Varchar2(4), 
    cust_first_name Varchar2(20), 
    account_no Number(5) Primary key, 
    account_type Varchar2(10) NOT NULL, 
    bank_branch Varchar2(25) NOT NULL, 
    cust_email Varchar2(30)
);

额外提醒

这种末尾多逗号的问题在写SQL时特别常见,尤其是当你逐行添加列、最后收尾时容易忘记清理。下次遇到类似的标识符错误,可以先检查一下列定义的标点符号,大概率能快速定位问题~

内容的提问来源于stack exchange,提问作者Dennis Heraald

火山引擎 最新活动