Проверка перед вставкой

0

Я хотел бы проверить свое первое поле и второе (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;
  }
  • 4
    Сделать CodeA и TitreA составным уникальным ограничением в базе данных (этот тип логики обычно является требованием базы данных, а не приложения)
  • 4
    Кроме того, используйте PreparedStatement прежде чем кто-то испортит вашу базу данных. См. Использование подготовленных заявлений
Показать ещё 2 комментария
Теги:
duplicates

1 ответ

0
Лучший ответ

Ваша таблица базы данных должна обеспечивать уникальность этой комбинации столбцов. Добавьте это в вашу базу данных:

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

Затем, если вы попытаетесь вставить одну и ту же комбинацию, она покажет вам ошибку и не будет вставлять новую строку.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню