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

MySQL unique 1500 varchar field error (#1071 - Kunci yang ditentukan terlalu panjang)

Karena Anda akan menyimpan URL di link kolom, Anda sebenarnya tidak perlu menggunakan UTF8 untuk itu, karena URL hanya dapat berisi karakter ASCII. Menentukan pengkodean karakter ASCII biasa untuk link . Anda kolom bahkan akan memungkinkan Anda untuk meningkatkan panjang maksimalnya menjadi 3072 karakter.

CREATE TABLE IF NOT EXISTS `pages` (
  `link` varchar(1500) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
  `domain` varchar(255) NOT NULL,
  `lastvisited` datetime DEFAULT NULL,
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`id`),
  UNIQUE KEY `link` (`link`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ROW_FORMAT=DYNAMIC;

(Diperbarui sesuai saran @eggyal untuk ascii_bin susunan)




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pertanyaan PHP:Bagaimana cara memperbaiki pernyataan if/elseif ini

  2. Konversi tanggal MySQL

  3. PHP Mysql PDO jumlah variabel terikat tidak sesuai dengan jumlah token

  4. Pelanggaran batasan integritas:1052 Kolom 'id' di mana klausa ambigu

  5. Menyalin data dari satu tabel ke tabel lain. Database berbeda dan struktur tabel berbeda