java.sql.SQLSyntaxErrorException:ORA-00928:缺少SELECT关键字

时间:2017-07-26 09:30:04

标签: java database oracle

当我向数据库插入一些行时,我收到此错误。

代码

public class InsertRowData {
    public static void main(String[] args)throws ClassNotFoundException, SQLException{

        Connection con = (Connection) DriverManager
                 .getConnection("jdbc:oracle:thin:@localhost:1521:ORCL" , "system" , "system");

        Statement statement = con.createStatement();
        String dmlinsert = "insert into student(111,manoj,rawatrulz09)";

        int rowseffected = statement.executeUpdate(dmlinsert);      
        System.out.println("no of rows effected" + rowseffected);

    }   
}

在谷歌搜索后,我发现解决方案从列中删除单引号但仍然得到相同的错误。 p.s-我是新手

1 个答案:

答案 0 :(得分:0)

这是将任何数据插入表格的不好方法。

String dmlinsert="insert into student(111,manoj,rawatrulz09)"

首先,您的查询缺少语法Values

在插入时未提及列时,values必须分别包含相同数量的数据。

但是在插入数据时,最佳做法是提及列,以便在以后对数据库中的表进行任何更改时,插入查询保持稳定。 例如: insert into student(id, name, email) values(111,'manoj','rawatrulz09')

现在,如果将来你会在这个表中添加一个列,你的插入查询仍然会按照它提到的列工作,但如果你不提及任何列,那么你的代码将在执行时开始给出错误{{1祝你好运!祝你好运! 无论如何,回答你的插入查询:

no of values don't match given to the table