Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Lỗi trường varchar 1500 duy nhất của MySQL (# 1071 - Khóa được chỉ định quá dài)

Vì bạn sẽ lưu trữ URL trong liên kết link , bạn thực sự không cần sử dụng UTF8 cho nó, vì URL chỉ có thể chứa các ký tự ASCII. Chỉ định mã hóa ký tự ASCII thuần túy cho link của bạn thậm chí sẽ cho phép bạn tăng độ dài tối đa của nó lên 3072 ký tự.

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;

(Cập nhật theo gợi ý của @ eggyal cho ascii_bin đối chiếu)




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL tham chiếu chéo bảng khác để kiểm tra dữ liệu

  2. Xóa truy vấn MySQL:Số lượng cột không khớp với số lượng giá trị ở hàng 1

  3. Kiểm tra nhiều cột cho một giá trị

  4. Cập nhật mảng được tuần tự hóa trong mysql (mà không cần giải đáp thắc mắc?)

  5. Cách Chèn Nhiều Hàng trong MySQL