我创建了一个包含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);
它告诉我,我有语法错误。
答案 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);