gpt4 book ai didi

java - 如何确保 INSERT INTO 不会在 mySQL 数据库上添加相同的值

转载 作者:行者123 更新时间:2023-12-01 00:44:02 25 4
gpt4 key购买 nike

有没有一种方法可以制作一个 INSERT INTO 准备好的语句,但要确保如果数据库已经存在,用户将提供的名称不会被放入数据库中?

public ServerConn(String sql_name,int sql_year,String sql_ticket)
{
try
{
Class.forName( "com.mysql.jdbc.Driver" ) ;
java.sql.Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/promitheas?user=gunner&password=1234") ;
this.sql_name = sql_name;
this.sql_year = sql_year;
this.sql_ticket = sql_ticket;
PreparedStatement ps = conn.prepareStatement("INSERT INTO tickets (xronia,ticket,name) VALUES (?,?,?)");
ps.setInt(1,sql_year);
ps.setString(2,sql_ticket);
ps.setString(3,sql_name);
ps.executeUpdate();
System.out.println("Done!");
} catch (SQLException case1){
case1.printStackTrace();
} catch(Exception case2){
case2.printStackTrace();
}
}

最佳答案

你可以通过添加一个像这样的唯一约束来检查数据库:

ALTER TABLE tickets ADD UNIQUE (name)

如果该名称已存在于数据库中,则无法执行 INSERT。

关于java - 如何确保 INSERT INTO 不会在 mySQL 数据库上添加相同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25183948/

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