Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

mySQL:charset utf8 pada tabel indeks dan kesalahan kunci duplikat

Anda harus menggunakan susunan utf8_unicode_ci ketika Anda menggunakan karakter Jerman, menurut diskusi dalam bug ini:Bug #39816 collation Jerman di bawah utf8_unicode_ci salah .

Terlepas dari judul bug itu, saya baru saja menguji ini pada 5.6.15, dan kasus pengujian Anda berfungsi, sedangkan susunan unicode default tidak berfungsi:

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:Saya menyarankan Anda menggunakan lingkungan pengembangan versi yang sama dari semua perangkat lunak sebagai lingkungan produksi Anda, atau setidaknya berbagi versi utama yang sama. Anda pasti akan mengalami ketidakcocokan lain jika Anda mengembangkan di 5.5 dan kemudian mencoba menerapkan ke 5.0.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tabel adalah 'hanya baca'

  2. Django:Kesalahan sintaks MySQL saat meneruskan parameter ke kueri SQL mentah

  3. Bagaimana cara memilih beberapa catatan (baris) dari kolom di mysql?

  4. Gabungkan INSERT dan SELECT dalam satu kueri SQL (Zapier)

  5. Menggunakan Grup Non-Menangkap di MySQL REGEXP