Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javamysql语句_Java_Mysql_Sql - Fatal编程技术网

javamysql语句

javamysql语句,java,mysql,sql,Java,Mysql,Sql,我正试图用java对数据库进行简单的插入,它告诉我我的sql语法不正确。但是,当我复制打印出来的字符串并将其放入phpmyadmin中的sql命令时,它会正确执行该命令,而我似乎无法找出java中的字符串查询有什么问题 java.sql.PreparedStatement statement; String physicanInsertQuery = "INSERT INTO physician_phi VALUES(?,?,?,?,?,?,?,?)"; statement = ddp.get

我正试图用java对数据库进行简单的插入,它告诉我我的sql语法不正确。但是,当我复制打印出来的字符串并将其放入phpmyadmin中的sql命令时,它会正确执行该命令,而我似乎无法找出java中的字符串查询有什么问题

java.sql.PreparedStatement statement;

String physicanInsertQuery = "INSERT INTO physician_phi VALUES(?,?,?,?,?,?,?,?)";
statement = ddp.getConnect().prepareStatement(physicanInsertQuery);

statement.setString(1, "id");
statement.setString(2, "first");
statement.setString(3, "last");
statement.setString(4, "middle");
statement.setString(5, "male");
statement.setString(6, "8179999999");
statement.setString(7, "test@gmail.com");
statement.setString(8, "1991-5-15");
System.out.println(statement.toString());
statement.executeUpdate(physicanInsertQuery);
statement.close();
这是在执行之前打印出来的查询

INSERT INTO physician_phi VALUES('FML123','FirstName','LastName','MiddleName','Male','8179999999','john@server.department.company.com','1991-2-7')
这是在控制台中显示的错误

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '?,?,?,?,?,?,?,?)' at line 1
    at sun.reflect.GeneratedConstructorAccessor26.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
    at com.mysql.jdbc.Util.getInstance(Util.java:386)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1054)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4237)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4169)
    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2617)
    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2778)
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2819)
    at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1811)
    at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1725)
    at command.up.DoctorStore.exec(DoctorStore.java:65)

....
这是数据库中的表。
你不需要电话吗;在您的sql语句上。此外,您还应该研究JPA,它将完成所有这些数据库查询本身

您不需要终止;在您的sql语句上。此外,您还应该研究JPA,它将完成所有数据库查询本身的工作,您正在调用base
语句。executeUpdate(String)
方法,该方法与
PreparedStatement
无关,只执行一个原始SQL字符串


您需要在不带参数的情况下调用
语句.executeUpdate()
才能使用派生方法n
PreparedStatement
您正在调用基本
语句.executeUpdate(String)
方法,该方法与
PreparedStatement
无关,只执行一个原始SQL字符串


您需要在不带参数的情况下调用
statement.executeUpdate()
来使用派生方法n
PreparedStatement

我想我刚刚死在一个小范围内。老兄,我怎么没看到呢。非常感谢你的指点。我想我只是死在一个小小的。老兄,我怎么没看到呢。非常感谢你指出这一点。