MySQL 语法错误 INSERT INTO 和 WHERE 语句
MySQL Syntax Error INSERT INTO and WHERE statements
我创建了一个包含 4 列的数据库table
user , password , ipaddress , isVIP
我想将数据插入 ipaddress where 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);
它告诉我语法错误。
您的 INSERT
在句法上不正确。即使您修复了它,您的 INSERT
也不会工作,因为您正在选择并插入同一个 table!这在 mysql 中是不允许的。
您需要改用更新。
con.prepareStatement("UPDATE login SET ipaddress = ? WHERE user=? and password=?");
你可以试试下面的。
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);
我创建了一个包含 4 列的数据库table
user , password , ipaddress , isVIP
我想将数据插入 ipaddress where 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);
它告诉我语法错误。
您的 INSERT
在句法上不正确。即使您修复了它,您的 INSERT
也不会工作,因为您正在选择并插入同一个 table!这在 mysql 中是不允许的。
您需要改用更新。
con.prepareStatement("UPDATE login SET ipaddress = ? WHERE user=? and password=?");
你可以试试下面的。
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);