Vũ *_*Anh 3 python mysql unicode
我有Labels2列的表格:
+-------------+--------------+-------------+
| Column Name | Type | Key |
+-------------+--------------+-------------+
| id | integer | primary key |
| label | varchar(255) | unique |
+-------------+--------------+-------------+
Run Code Online (Sandbox Code Playgroud)
在此表中,我已经有如下记录:
id: 1, label: 'café'
现在,我想添加更多记录,如下所示:
id: auto, label: 'cafe'
但是当我尝试插入时,出现重复错误
(1062, "Duplicate entry 'cafe' for key 'label_2'") [SQL: u'INSERT INTO vocabulary (label) VALUES (%s)'] [parameters: (u'cafe',)]
Run Code Online (Sandbox Code Playgroud)
在这种情况下,你们能帮我吗?有关我的数据库的更多信息:字符集:utf8,整理:utf8mb4_unicode_ci
更新:创建表
CREATE TABLE `labels` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`label` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `label_2` (`label`),
KEY `label` (`label`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
Run Code Online (Sandbox Code Playgroud)
至于label唯一键,您将不能在该列中插入重复值。如要区分café和cafe,则需要使用utf8_bin归类。请尝试以下查询。
ALTER TABLE labels CHARACTER SET utf8 COLLATE utf8_bin;
ALTER TABLE labels CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;
Run Code Online (Sandbox Code Playgroud)
希望这会有所帮助。
| 归档时间: |
|
| 查看次数: |
706 次 |
| 最近记录: |