mysql语法错误insert-into和where语句

kg7wmglp  于 2021-07-13  发布在  Java
关注(0)|答案(2)|浏览(434)

我已经创建了一个包含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);

它告诉我我有语法错误。

bn31dyow

bn31dyow1#

你的 INSERT 语法不正确。即使你把它修好了 INSERT 将不起作用,因为您正在选择并插入到同一个表中!这在mysql中是不允许的。
您将需要改用更新。

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

uwopmtnx2#

你能试试下面的吗。

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);

相关问题