java.sql.SQLException:ORA-00928:缺少SELECT關(guān)鍵字。使用JDBC將記錄插入數(shù)據(jù)庫(kù)時(shí)
我可以發(fā)現(xiàn)兩個(gè)問(wèn)題:
不需要在列名周?chē)褂脝我?hào)。但是您可以將其用雙引號(hào)引起來(lái)。如果對(duì)列名或表名使用保留關(guān)鍵字,則很有必要。在這里DATE。您需要一個(gè)空格VALUES。因此,您需要更改insertStmt為以下內(nèi)容:
String insertStmt = 'INSERT into ' + 'MY_TABLE(RECORD_TYPE, FILE_TYPE, 'DATE', BATCH_NO, RECORD_COUNT) ' + 'VALUES(?, ?, ?, ?, ?);';解決方法
當(dāng)我嘗試向數(shù)據(jù)庫(kù)中插入一些行時(shí)出現(xiàn)錯(cuò)誤。所以這是代碼
try { String insertStmt = 'INSERT into ' +'MY_TABLE(’RECORD_TYPE’,’FILE_TYPE’,’DATE’,’BATCH_NO’,’RECORD_COUNT’)' +'VALUES(?,?,?);'; PreparedStatement pstmt = super.con.prepareStatement(insertStmt); pstmt.setString(1,input[0]); pstmt.setString(2,input[1]); pstmt.setString(3,input[2]); pstmt.setString(4,input[3]); pstmt.setString(5,input[4]); System.out.println('Insert rows : ' + pstmt.executeUpdate());} catch (SQLException sqle) { System.out.println(sqle.getMessage()); sqle.printStackTrace();} catch (Exception e) { System.out.println(e.getMessage()); e.printStackTrace();} finally { con.close();}
并且數(shù)據(jù)庫(kù)上的所有內(nèi)容均為varchar類(lèi)型,請(qǐng)仔細(xì)檢查各列(它們都是相同的名稱(chēng)),將列名中的引號(hào)引起來(lái)(相同的結(jié)果)不會(huì)成功。要添加它,錯(cuò)誤消息不是很有幫助。
任何建議,將不勝感激。
相關(guān)文章:
1. MySQL的聯(lián)合查詢(xún)[union]有什么實(shí)際的用處2. PHP訂單派單系統(tǒng)3. 怎么能做出標(biāo)簽切換頁(yè)的效果,(文字內(nèi)容隨動(dòng))4. mysql - sql 左連接結(jié)果union右連接結(jié)果,導(dǎo)致重復(fù)性計(jì)算怎么解決?5. 網(wǎng)頁(yè)爬蟲(chóng) - python 爬取網(wǎng)站 并解析非json內(nèi)容6. mysql 遠(yuǎn)程連接出錯(cuò)10060,我已經(jīng)設(shè)置了任意主機(jī)了。。。7. php多任務(wù)倒計(jì)時(shí)求助8. 數(shù)組排序,并把排序后的值存入到新數(shù)組中9. 默認(rèn)輸出類(lèi)型為json,如何輸出html10. mysql時(shí)間格式問(wèn)題
