我有一列是我的表的主键,它可以有变音符号或普通文本。
我有这两个值:
Håbo and Habo
我想在我的表中插入这两个列值,但出现错误:
DBD::mysql::st execute failed: Duplicate entry 'Habo' for key 'PRIMARY'
当我检查 Håbo 已经插入并且它处理两个值相同所以主键违规。
我的代码:
$dbh = DBI->connect($dsn, $user, $pass)
or die "Unable to connect: $DBI::errstr\n";
$dbh->{'mysql_enable_utf8'}=1;
$dbh->do('SET NAMES utf8');
my $sql = sprintf "INSERT INTO search_term values(%s, %s)", $dbh->quote($search_term), "Data";
我的表说明
mysql> desc search_term;
+---------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------------+--------------+------+-----+---------+-------+
| search | varchar(200) | NO | PRI | NULL | |
| site | varchar(500) | NO | | NULL | |
+---------------+--------------+------+-----+---------+-------+
如何让 MySQL 将这两个值视为不同并插入它们?有什么建议么?