gpt4 book ai didi

java - MySQL Java根据两个字符串列删除行

转载 作者:行者123 更新时间:2023-11-29 15:28:06 25 4
gpt4 key购买 nike

这是一行

PreparedStatement delete = con.prepareStatement("DELETE FROM " + tableName +" WHERE first LIKE " + firstName + " AND last LIKE " + lastName);

我想在删除行之前检查名字和姓氏是否与查询匹配。“第一个”和“最后一个”都是我表中的列。我收到此错误消息

org.sqlite.SQLiteException: [SQLITE_ERROR] SQL error or missing database (no such column: Hendrix)

在本例中,Hendrix 是 lastName 的值。

为什么最后一个 LIKE ____ 在这种情况下不起作用?如果我要检查,是否应该使用另一个关键字多个字符串?

最佳答案

In Java, you can escape quotes with \ :

PreparedStatement delete = con.prepareStatement("DELETE FROM " + tableName + " WHERE first = \"" + firstName + "\" AND last = \"" + lastName + "\"");

当然,我发现有点难以阅读,所以我更喜欢混合使用单引号和双引号而不是转义它们:

PreparedStatement delete = con.prepareStatement('DELETE FROM ' + tableName + ' WHERE first = "' + firstName + '" AND last = "' + lastName + '"');

关于你关于LIKE的问题。 Try reading up on the difference between LIKE and = 。有很多关于它的信息。简而言之...LIKE 与通配符一起使用。

关于java - MySQL Java根据两个字符串列删除行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58925882/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com