MySQL语法错误INSERT INTO和WHERE语句

时间:2017-01-03 14:21:30

标签: java mysql syntax-error

我创建了一个包含4列

的数据库表
user , password , ipaddress , isVIP

我想将数据插入到ipaddress中user =?和密码=?

我尝试使用这个mySQL语法

PreparedStatement ps = con.prepareStatement("INSERT INTO login(ipaddress) VALUES(?) select * from login where user=? and password=?");
        ps.setString(1,ipaddress);
        ps.setString(2,id);
        ps.setString(3, password);

它告诉我,我有语法错误。

2 个答案:

答案 0 :(得分:2)

您的INSERT在语法上不正确。即使你修复了它,你的INSERT也无法正常工作,因为你正在选择并插入到同一个表中!这在mysql中是不允许的。

您需要使用更新。

con.prepareStatement("UPDATE login SET ipaddress = ? WHERE user=? and password=?");

答案 1 :(得分:-1)

你可以试试下面的一个。

 PreparedStatement ps = con.prepareStatement("INSERT INTO login(ipaddress) VALUES select ipaddress from login where user=? and password=?");
            ps.setString(1,id);
            ps.setString(2, password);