私のテーブルに簡単な挿入を試みていますが、私のプログラムはSQL構文エラーがあると言います。何か案は?あなたは 'NOT NULLと' と宣言されたすべての列の値を指定する必要がありますPrepared Statementを使用したJDBC挿入には、SQL構文エラーがあります。
SQL CODE
CREATE TABLE ticket (
start_time DATETIME NOT NULL,
end_time DATETIME NOT NULL,
seat VARCHAR(50) NOT NULL,
sep VARCHAR(50) NOT NULL,
price INT(50) NOT NULL,
foroom VARCHAR(50) NOT NULL,
printer INT(15) NOT NULL,
PRIMARY KEY (seat)
);
JAVA CODE
try
{
System.out.println("Attempting to connect...\n");
Class.forName("com.mysql.jdbc.Driver");
connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/baseis?autoReconnect=true&useSSL=false","root","");
System.out.println("Connection Succesful!!!");
String sql = "INSERT INTO ticket (start_time)" + " VALUES (?)";
PreparedStatement prepared = connection.prepareStatement(sql);
prepared.setString(1,"2016-07-17 19:00:00");
prepared.executeUpdate(sql);
}
catch(SQLException error)
{
System.out.println("Error: " + error.getMessage());
}
ERROR
Error: 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
2番目の問題は、実際に問題のエラーを引き起こした問題ではありません。あなたの答えは、 'prepared.executeUpdate(sql)'の代わりに 'prepared.executeUpdate()'を使ったので、誤って修正されます) –
私は修正の一部を知っていましたが、明示的に言及しませんでした。私はそれをもっと明白にするために答えを編集しました。ありがとう! – Jason