尝试使用java将csv中的值插入数据库时,我收到语法错误。这是我的代码
try{
BufferedReader br=new BufferedReader(new FileReader(filename1));
String line;
while((line=br.readLine())!=null){
String[]value=line.split(",");//Seperator
System.out.println(value[0]);
System.out.println(value[1]);
System.out.println(value[2]);
if (programused == "Example"){
String sql="insert into websitehistory (Date, URL, VisitCount) "
+ "values (?,?,?)";
pst=conn.prepareStatement(sql);
pst.setString(1, value[0]);
pst.setString(2, value[1]);
pst.setString(3, value[2]);
pst.executeUpdate(sql);
Update_exampleTable();
}
这是将分离值插入数据库的mysql查询。 Value是一个包含inted csv文件的数组,“filename1”
这是我的表结构:
Field Type Null Key Default Extra
Date text No NULL
URL text No NULL
VisitCount text No NULL
我要插入的csv文件中的数据类型:
31/01/2014 15:26:00, https://www.youtube.com/, 13
31/01/2014 15:25:00, https://www.youtube.com/, 17
30/01/2014 12:15:00, https://www.facebook.com/, 20
然后抛出MySQL语法错误:
Check the manual that corresponds to your MySQL server version for the right syntax to use near '?,?,?)' at line 1.
如果我将?
替换为value[0] value[1]
等等,则会插入一些数据,但检索会在数据中产生不同的SQL语法错误,但在使用占位符时,不会插入任何数据进入表格。任何帮助都会很棒。
答案 0 :(得分:0)
你应该致电:
pst.executeUpdate();
而不是:
pst.executeUpdate(sql);