Dovresti usare il confronto utf8_unicode_ci
quando usi caratteri tedeschi, secondo la discussione in questo bug:Bug #39816 Collation tedesca sotto utf8_unicode_ci non è corretto
.
Nonostante il titolo di quel bug, l'ho appena testato su 5.6.15 e il tuo test case funziona, mentre il confronto unicode predefinito non funziona:
CREATE TABLE `test` (
`id` varchar(5) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 DEFAULT COLLATE=utf8_unicode_ci;
INSERT INTO `test` (`id`) VALUES ('das'), ('daß');
PS:ti consiglio di utilizzare in un ambiente di sviluppo le stesse versioni di tutti i software del tuo ambiente di produzione, o almeno condividere la stessa versione principale. Se sviluppi in 5.5 e poi provi a eseguire il deployment in 5.0, ti imbatterai in altre incompatibilità.