java - 如何防止重复。 Java、SQL

标签 java mysql jdbc

我尝试复制username列中的条目,但结果始终在else语句中,即数据已成功插入到不应重复的表中基于 if 语句。顺便说一下String value1=username1.getText();

代码如下:

String sq = "SELECT username FROM login where username = '"+value1+"'";

if (sq.equals(value1)){ 
JOptionPane.showMessageDialog(null,"username is already existed! please 
create new username.");   
}
else{
int k=st.executeUpdate("insert into 
login(username,password,firstname,lastname,address,contactno) 


values('"+value1+"','"+value2+"','"+value3+"','"+value4+"',
'"+value5+"','"+value6+"')");
JOptionPane.showMessageDialog(null,"Data is successfully saved");
}

最佳答案

您只需创建 SQL 字符串并从不运行它(相反,您将其与用户名进行比较,而用户名始终为 false)。

您应该实际执行它并检查结果。 例如。 (为简洁起见,省略了错误处理和资源清理):

Connection conn = // Connect to the database... 
PreparedStatement ps = 
    conn.prepareStatement("SELECT username FROM login where username = ?";
ps.setString(1, value1);
ResultSet rs = ps.executeQuery();
if (rs.next()) {
    JOptionPane.showMessageDialog
        (null,"username is already existed! please create new username.");   
} 

关于java - 如何防止重复。 Java、SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46582390/

相关文章:

java - Spring mongodb : Aggregation unable to specify graphLookup. maxDepth

java - 为什么 VisualVM float 实例似乎不包含其他类中的 float ?

c# - 使用 Inner Join 的 MySqlDataAdapter 更新表

java - 如何在 spring mongodb 中检索数组中的匹配元素?

java - sha-512 对同一字符串返回不同的值

MySql性能医生: someone can translate this values for me?

Mysql不断重启(但我不确定为什么)

java - 加载数据源时出错

java - 使用带有乐观锁定的 JPA 更新 n 条记录

linux - 无法从 Linux 查询 SQL Server 2008 数据库?