Hola Rene,
Te muestro mi ejemplo:
CREATE TABLE `t2` (
`clave` varchar(20) character set utf8 NOT NULL default '',
PRIMARY KEY (`clave`)
) ENGINE=InnoDB;
INSERT INTO t2 (clave) VALUES ('campana');
INSERT INTO t2 (clave) VALUES ('campaña');
INSERT INTO t2 (clave) VALUES ('canción');
INSERT INTO t2 (clave) VALUES ('cancion');
Resultado:
(1 row(s)affected)
(0 ms taken)
Error Code : 1062
Duplicate entry 'campaña' for key 1
(0 ms taken)
(1 row(s)affected)
(0 ms taken)
Error Code : 1062
Duplicate entry 'cancion' for key 1
(0 ms taken)
SELECT * FROM t2;
Resultado:
clave
--------
campana
canción
DROP TABLE IF EXISTS t2;
CREATE TABLE `t2` (
`clave` varchar(20) collate latin1_spanish_ci NOT NULL default '',
PRIMARY KEY (`clave`)
) ENGINE=InnoDB;
INSERT INTO t2 (clave) VALUES ('campana');
INSERT INTO t2 (clave) VALUES ('campaña');
INSERT INTO t2 (clave) VALUES ('canción');
INSERT INTO t2 (clave) VALUES ('cancion');
Resultado:
(1 row(s)affected)
(0 ms taken)
(1 row(s)affected)
(0 ms taken)
(1 row(s)affected)
(0 ms taken)
Error Code : 1062
Duplicate entry 'cancion' for key 1
(0 ms taken)
SELECT * FROM t2;
Resultado:
clave
--------
campana
campaña
canción
DROP TABLE IF EXISTS t2;
CREATE TABLE `t2` (
`clave` varchar(20) character set latin1 collate latin1_bin NOT NULL default '',
PRIMARY KEY (`clave`)
) ENGINE=InnoDB;
INSERT INTO t2 (clave) VALUES ('campana');
INSERT INTO t2 (clave) VALUES ('campaña');
INSERT INTO t2 (clave) VALUES ('canción');
INSERT INTO t2 (clave) VALUES ('cancion');
Resultado:
(1 row(s)affected)
(0 ms taken)
(1 row(s)affected)
(0 ms taken)
(1 row(s)affected)
(0 ms taken)
(1 row(s)affected)
(0 ms taken)
SELECT * FROM t2;
Resultado:
clave
--------
campana
campaña
cancion
canción