谁能告诉我为啥会收到 SQL*PLUS 无效标识符错误?
Posted
技术标签:
【中文标题】谁能告诉我为啥会收到 SQL*PLUS 无效标识符错误?【英文标题】:Can anyone tell me why I am getting a SQL*PLUS invalid identifier error?谁能告诉我为什么会收到 SQL*PLUS 无效标识符错误? 【发布时间】:2011-04-17 14:01:51 【问题描述】:为什么我总是收到这个错误:
javax.servlet.ServletException:java.sql.SQLException:[Oracle][ODBC][Ora]ORA-00904:“PURCHASE_PRICE”:标识符无效
如您所见,purchase_Price 显然是一个有效的标识符。
//get parameters from the request
String homeID=request.getParameter("home_ID");
String modelID=request.getParameter("model_ID");
String lotSize=request.getParameter("lot_Size");
String location=request.getParameter("location");
String purchasePrice=request.getParameter("purchase_Price");
String streetName=request.getParameter("street_Name");
String city=request.getParameter("city");
String state=request.getParameter("state");
String zipCode=request.getParameter("zip_Code");
preparedStatement = conn.prepareStatement("INSERT INTO customer (home_ID, model_ID, lot_Size, location, purchase_Price , street_Name, city, state, zip_Code)"
+ " VALUES (?,?,?,?,?,?,?,?,?)");
preparedStatement.setInt(1,Integer.valueOf(homeID));
preparedStatement.setInt(2,Integer.valueOf(modelID));
preparedStatement.setString(3,lotSize);
preparedStatement.setString(4,location);
preparedStatement.setInt(5,Integer.valueOf(purchasePrice));
preparedStatement.setString(6,streetName);
preparedStatement.setString(7,city);
preparedStatement.setString(8,state);
preparedStatement.setString(9,zipCode);
preparedStatement.executeUpdate();
SQL 代码
CREATE TABLE home
(home_ID NUMBER NOT NULL,
model_ID NUMBER NOT NULL,
lot_Size VARCHAR2(50) ,
location VARCHAR2(50) ,
purchase_Price NUMBER ,
street_Name VARCHAR2(50) NoT NULL,
city VARCHAR2(30) NOT NULL,
state VARCHAR2(50) NOT NULL,
zip_Code VARCHAR(5) NOT NULL
);
【问题讨论】:
【参考方案1】:可能是因为您在 SQL 中向我们展示了一个表 home
,但使用 JDBC 插入到了 customer
?
【讨论】:
是的。 . .我刚刚看到了。我很特别:/以上是关于谁能告诉我为啥会收到 SQL*PLUS 无效标识符错误?的主要内容,如果未能解决你的问题,请参考以下文章
谁能告诉我为啥我从 GitLab 收到此“错误:作业失败:退出代码 1”消息?
我有两个被重命名为 jpg 的 gif。一个有效,一个无效。谁能告诉我为啥?
谁能告诉我为啥我收到错误 [AttributeError: 'list' object has no attribute 'encode']