如何使用IGNORE?

时间:2010-08-11 04:36:24

标签: mysql ignore

我有输入数据的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.but如何防止只在Model,Serial_number,Line处重复?

1 个答案:

答案 0 :(得分:2)

来自文档

INSERT

  

如果使用IGNORE关键字,则会出错   执行INSERT时发生的情况   声明被视为警告   代替。 例如,没有   IGNORE,一行重复一个   现有的UNIQUE索引或PRIMARY KEY   表中的值导致a   重复键错误和语句   被中止了。随着IGNORE,行仍然   未插入,但没有错误   发出的。

因此,它告诉我Model,Serial_number,Line必须是主键,或者您需要在这些列上创建唯一索引。