INSERT INTO `tablecity` (`City`, `Country`) VALUES ('Itajaí','Brazil');
INSERT INTO `tablecity` (`City`, `Country`) VALUES ('itajai','Brazil');
是的,我知道2必须是同一个城市。让我们暂时假装那些是两个完全不同的城市。
为什么我会收到重复的条目?字母不同。如何使mysql以不同的方式处理2个条目?
答案 0 :(得分:3)
您几乎肯定会使用不支持您尝试在此处插入的字母差异的字符集和/或整理。
这样的东西不起作用,会导致你遇到的问题:
CREATE TABLE `yourtable` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`city` varchar(28),
`country` varchar(28),
PRIMARY KEY (`id`),
UNIQUE KEY `city` (`city`)
) ENGINE=InnoDB DEFAULT CHARSET=latin;
使用utf8
/ utf8_bin
不会出错,如下表语法所示:
CREATE TABLE `yourtable` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`city` varchar(28),
`country` varchar(28),
PRIMARY KEY (`id`),
UNIQUE KEY `city` (`city`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
(基于最佳猜测的表格布局)