activerecordを使用してcodeigniterでデータをインポートしようとしています。私には意味のないこのエラーが発生します
<p>Error Number: 1062</p>
<p>Duplicate entry 'L'' for key 'brand'</p>
<p>INSERT INTO `brands` (`brand`) VALUES ('L\'awlek')</p>
重複したくないので、brandsテーブルにUNIQUE制約があります。私の質問は、なぜ最初のアポストロフィで値を切り落とし、それが鍵であると主張するのかということです。
関連コード:
define('TABLE','brands');
function add( $data ){
$exists = $this->exists( $data['brand'] );
if( ! $exists )
$query = $this->db->insert( TABLE , $data);
return ! $exists ? $this->db->insert_id() : $exists;
}
function exists( $value ){
$query = $this->db->get_where( TABLE , array('brand'=>$value));
if( $query && $query->num_rows() > 0 ){
return $query->row()->id;
} else {
return false;
}
}