Я пытаюсь импортировать некоторые данные с помощью codeigniter, используя activerecord. Я получаю эту ошибку, которая не имеет никакого смысла для меняMysql Duplicate Entry Before Apostrophe
<p>Error Number: 1062</p>
<p>Duplicate entry 'L'' for key 'brand'</p>
<p>INSERT INTO `brands` (`brand`) VALUES ('L\'awlek')</p>
У меня есть 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;
}
}
Является ли столбец обозначенным как varchar (2) или что-то подобное? – Joni
Столбец «бренд» установлен на varchar (150) – Gorving
Является ли ключевой 'бренд' определяемым длиной 2? – Joni