【问题标题】:Checking before insert插入前检查
【发布时间】:2018-11-05 14:29:34
【问题描述】:

我想检查我的第一个字段和第二个字段(CodeA、TitreA)并停止重复。

我不知道该怎么办。

public boolean insertAlbum (Album alb)
  {
    boolean ok = ConnexionMySQL.getInstance().actionQuery(
      "Insert into album (CodeA, TitreA, SortieA, IdentC) values ('" +
      alb.getCodeA() + "','" + 
      alb.getTitreA() + "'," +
      alb.getSortieASQL() + "," + 
      alb.getChanteurAlb().getIdentC() + ")");
    return ok;
  }

【问题讨论】:

  • 使CodeATitreA成为数据库中的复合唯一约束(这种逻辑一般是数据库而不是应用程序的要求)
  • 另外,在有人搞砸你的数据库之前使用PreparedStatement。见Using Prepared Statements
  • @MadProgrammer 在学校我们没有看到“Prepared Statement” 我的请求怎么办?

标签: java mysql sql duplicates


【解决方案1】:

您的数据库表应该强制该列组合的唯一性。将此添加到您的数据库中:

alter table album add constraint unique_code_titre unique (codea, titrea);

然后,如果您尝试插入相同的组合,它会显示错误,并且不会插入新行。

【讨论】:

    猜你喜欢
    • 2016-11-28
    • 1970-01-01
    • 2011-12-04
    • 1970-01-01
    • 2014-10-04
    • 2023-04-02
    • 2011-07-13
    • 2011-02-03
    相关资源
    最近更新 更多