phpMyAdmin
 sql >> Cơ Sở Dữ Liệu >  >> Database Tools >> phpMyAdmin

Không nhận dạng được kiểu dữ liệu nvarchar trong cơ sở dữ liệu

Bạn không phải lo lắng về thông báo nvarchar, được tạo bởi phpmyadmin, không phải bởi MySQL. MySQL không cho phép kiểu dữ liệu nvarchar, hãy xem hướng dẫn sử dụng MySQL trên dữ liệu quốc gia bộ ký tự :

SQL tiêu chuẩn định nghĩa NCHAR hoặc NATIONAL CHAR như một cách để chỉ ra rằng một cột CHAR nên sử dụng một số bộ ký tự được xác định trước. MySQL sử dụngutf8 làm bộ ký tự được xác định trước này. Ví dụ:các khai báo kiểu dữ liệu này tương đương nhau:

CHAR (10), BỘ NHÂN VẬT utf8 NHÂN VẬT QUỐC GIA (10), NCHAR (10)

Như sau:

VARCHAR (10), BỘ NHÂN VẬT utf8 QUỐC GIA VARCHAR (10), NVARCHAR (10), NCHAR VARCHAR (10), TỔNG HỢP NHÂN VẬT QUỐC GIA (10), TỔNG HỢP NHÂN VẬT QUỐC GIA (10)

Vấn đề thực sự nằm ở cuối thông báo lỗi:kích thước hàng quá lớn. Thông báo lỗi này đến từ MySQL và đó là lỗi bạn cần giải quyết.

mysql sử dụng bộ ký tự utf8 cho kiểu dữ liệu nvarchar. Một ký tự utf8 trong mysql sử dụng tối đa 3 byte. config_data của bạn trường được định nghĩa là nvarchar(21844) , do đó nó yêu cầu tối đa 21844 * 3 + 2 =65534 byte.

Như thông báo lỗi cho biết, một hàng có thể dài tới 65535 byte, vì vậy bạn còn lại 1 byte, nhưng các trường khác đẩy kích thước hàng lên trên giới hạn.

Bạn có thể làm gì:

  1. Giảm config_data chiều dài của trường để chiều dài tổng thể của hàng phù hợp với giới hạn.
  2. Thay đổi config_data kiểu dữ liệu thành varchar và sử dụng bộ ký tự yêu cầu ít byte hơn - chỉ cần đảm bảo rằng bộ ký tự đó hỗ trợ tất cả các ký tự bạn cần.
  3. Thay đổi config_data kiểu dữ liệu thành text bởi vì chỉ một phần nhỏ giá trị của trường văn bản thực sự được lưu trữ trong chính hàng đó. Điều này thực sự được đề xuất trong chính thông báo lỗi.



  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. MYSQL - Cảnh báo:# 1681 Chiều rộng hiển thị số nguyên không được dùng nữa

  2. Cách liệt kê DISTINCT TẤT CẢ sản phẩm từ cơ sở dữ liệu

  3. Không tìm thấy localhost hoặc phpMyAdmin trên máy chủ:Cách khắc phục?

  4. XAMPP PhpMyAdmin Lỗi 1045, Quyền truy cập bị từ chối đối với người dùng 'root' @ 'localhost'

  5. PhpMyAdmin tự động làm mới bảng MySQL