как использовать IGNORE? - PullRequest
       1

как использовать IGNORE?

2 голосов
/ 11 августа 2010

У меня есть код mysql для входных данных:

 $sql = "INSERT IGNORE INTO inspection_report ";
  $sql.= "(Model,       Serial_number,       Line,        Shift,     Inspection_datetime,         Range_sampling,       Packing, ";
  $sql.= "Accesories,       Appearance,      Tuner,        General_operation,       Class,      Status,         Remark, ";
  $sql.= "NIK) ";
  $sql.= "VALUES ('";
  $sql.= $Model."','".$Serial_number."', '".$Line."','".$Shift."','".postVar('insp_date')." ".postVar('time')."','".$Range_sampling."','".$Packing."','";
  $sql.= $Accesories."','".$Appearance."','".$Tuner."','".$General_operation."','".$Class."','".$Status."','".$Remark."','";
  $sql.= $NIK."')";

Я хочу использовать IGNORE.но как предотвратить дублирование только в Model, Serial_number, Line?

1 Ответ

2 голосов
/ 11 августа 2010

Из документации

INSERT

Если вы используете ключевое слово IGNORE, ошибки которые происходят во время выполнения ВСТАВКИ Заявление рассматривается как предупреждение вместо. Например, без IGNORE, строка, которая дублирует существующий УНИКАЛЬНЫЙ индекс или ПЕРВИЧНЫЙ КЛЮЧ значение в таблице вызывает ошибка двойного ключа и утверждение прервано С IGNORE, строка еще не вставлено, но нет ошибки выдано.

Итак, это говорит о том, что либо Model,Serial_number,Line должен быть первичным ключом, либо вам необходимо создать уникальный индекс для этих столбцов.

...