Looptech
Looptech

Reputation: 223

Mysql Insert query in Java

Im getting an sql syntax error somewhere at the end of this code line, i have tweaked it and mixed a bit with it but so far i haven't solved it.

 strSQL="INSERT INTO " + tableName + " VALUES " + "(" + id + ",'" + rname + "','" + rfn + "','" + rmn + ")";

Any help appreciated!

Upvotes: 0

Views: 81

Answers (3)

Konstantin Yovkov
Konstantin Yovkov

Reputation: 62854

You have missed several ' signs. (not only in the end, but before and after the id)

strSQL="INSERT INTO " + tableName + " VALUES " + "('" + id + "','" + rname + "','" + rfn + "','" + rmn + "')";

Not related to the question, but strongly related to the proper creation of queries in Java:

You should avoid constructing queries with String contatenation. Instead, use PreparedStatement parameters. For example, you query would look like this:

strSQL="INSERT INTO " + tableName + " VALUES (?, ? , ? , ?)";

Upvotes: 1

Suresh Kamrushi
Suresh Kamrushi

Reputation: 16076

There is no field name specified.write like this

INSERT INTO tbl_name (col1,col2) VALUES(val1, vale2);

Check url:http://dev.mysql.com/doc/refman/5.6/en/insert.html

Upvotes: 0

juergen d
juergen d

Reputation: 204746

You are missing a quote at the end

+ rmn + " )";
         ^---------here

But actually you should rather use Prepared Statements.

Upvotes: 6

Related Questions