ERROR 1071 (42000):指定的键过长;最大键长度为3072字节。

6 浏览
0 Comments

ERROR 1071 (42000):指定的键过长;最大键长度为3072字节。

我一直在尝试将这个旧的.sql文件导入到以下服务器中:

服务器版本:10.8.3-MariaDB
服务器字符集:UTF-8 Unicode(utf8mb4)
InnoDB

我已经阅读了很多关于这个错误的Stack Overflow回答,但无论我将varchar设置得多低,我仍然得到相同的错误。最初的设置是:

CREATE TABLE nuke_cpg_pictures (
   pid int(11) NOT NULL auto_increment,
   aid int(11) DEFAULT '0' NOT NULL,
   filepath varchar(255) NOT NULL,
   filename varchar(255) NOT NULL,
   filesize int(11) DEFAULT '0' NOT NULL,
   total_filesize int(11) DEFAULT '0' NOT NULL,
   pwidth smallint(6) DEFAULT '0' NOT NULL,
   pheight smallint(6) DEFAULT '0' NOT NULL,
   hits int(10) DEFAULT '0' NOT NULL,
   mtime timestamp(14),
   ctime int(11) DEFAULT '0' NOT NULL,
   owner_id int(11) DEFAULT '0' NOT NULL,
   owner_name varchar(40) NOT NULL,
   pic_rating int(11) DEFAULT '0' NOT NULL,
   votes int(11) DEFAULT '0' NOT NULL,
   title varchar(255) NOT NULL,
   caption text NOT NULL,
   keywords varchar(255) NOT NULL,
   approved enum('YES','NO') DEFAULT 'NO' NOT NULL,
   user1 varchar(255) NOT NULL,
   user2 varchar(255) NOT NULL,
   user3 varchar(255) NOT NULL,
   user4 varchar(255) NOT NULL,
   url_prefix tinyint(4) DEFAULT '0' NOT NULL,
   randpos int(11) DEFAULT '0' NOT NULL,
   pic_raw_ip tinytext,
   pic_hdr_ip tinytext,
   PRIMARY KEY (pid),
   KEY pic_hits (hits),
   KEY pic_rate (pic_rating),
   KEY aid_approved (aid, approved),
   KEY randpos (randpos),
   KEY pic_aid (aid),
   KEY search (title, caption, keywords, filename)
);

当前的设置如下:

CREATE TABLE nuke_cpg_pictures (
   pid int NOT NULL auto_increment,
   aid int DEFAULT '0' NOT NULL,
   filepath varchar(80) NOT NULL,
   filename varchar(50) NOT NULL,
   filesize int DEFAULT '0' NOT NULL,
   total_filesize int DEFAULT '0' NOT NULL,
   pwidth smallint(6) DEFAULT '0' NOT NULL,
   pheight smallint(6) DEFAULT '0' NOT NULL,
   hits int DEFAULT '0' NOT NULL,
   mtime timestamp(6),
   ctime int DEFAULT '0' NOT NULL,
   owner_id int DEFAULT '0' NOT NULL,
   owner_name varchar(40) NOT NULL,
   pic_rating int DEFAULT '0' NOT NULL,
   votes int( DEFAULT '0' NOT NULL,
   title varchar(100) NOT NULL,
   caption text NOT NULL,
   keywords varchar(50) NOT NULL,
   approved enum('YES','NO') DEFAULT 'NO' NOT NULL,
   user1 varchar(50) NOT NULL,
   user2 varchar(50) NOT NULL,
   user3 varchar(50) NOT NULL,
   user4 varchar(50) NOT NULL,
   url_prefix tinyint(4) DEFAULT '0' NOT NULL,
   randpos int DEFAULT '0' NOT NULL,
   pic_raw_ip tinytext,
   pic_hdr_ip tinytext,
   PRIMARY KEY (pid),
   KEY pic_hits (hits),
   KEY pic_rate (pic_rating),
   KEY aid_approved (aid, approved),
   KEY randpos (randpos),
   KEY pic_aid (aid),
   KEY search (title, caption, keywords, filename)
);

有任何想法吗?

0