mysql utf8mb4怎么迁移_将MySQL UTF8迁移到UTF8MB4的问题和疑问

我试图将我的UTF8

MySQL 5.5.30数据库转换为UTF8MB4.我看过这篇文章

https://mathiasbynens.be/notes/mysql-utf8mb4,但有一些问题.

我做过这些

ALTER DATABASE database_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;

ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

最后一个用62个表手动完成,其中一个给了我这个警告

13:08:30 ALTER TABLE bradspelold.games CONVERT TO CHARACTER SET

utf8mb4 COLLATE utf8mb4_unicode_ci 101289 row(s) affected, 2

warning(s): 1071 Specified key was too long; max key length is 767

bytes 1071 Specified key was too long; max key length is 767 bytes

Records: 101289 Duplicates: 0 Warnings: 2 3.016 sec

>这是一个问题吗?我该怎么办才能修好它?

下一步是

ALTER TABLE table_name CHANGE column_name column_name

VARCHAR(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

>我不确定命令,为什么有2个column_name?

>我应该只在VARCHAR(191)列上执行此操作吗?我不认为我有他们中的任何一个?

>你知道更多这样的artickels解释了更多id详细的原因和方法吗?

编辑:

桌上游戏

CREATE TABLE `games` (

`id` int(10) unsigned NOT NULL DEFAULT \'0\',

`name` varchar(255) NOT NULL,

`description` mediumtext,

`yearPublished` datetime NOT NULL,

`minPlayers` int(10) unsigned NOT NULL,

`maxPlayers` int(10) unsigned NOT NULL,

`playingTime` varchar(127) NOT NULL,

`grade` double NOT NULL DEFAULT \'0\',

`updated` datetime NOT NULL,

`forumParentId` int(10) unsigned DEFAULT \'0\',

`lastVisited` datetime DEFAULT NULL,

`inactivatedDate` datetime DEFAULT NULL,

`bggGrade` double DEFAULT NULL,

PRIMARY KEY (`id`),

KEY `inactivatedDate` (`inactivatedDate`),

KEY `name` (`name`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8'

编辑2:

'CREATE TABLE `forum_threads` (

`id` int(10) unsigned NOT NULL AUTO_INCREMENT,

`title` varchar(150) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '''',

`description` varchar(150) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '''',

`createdDate` datetime NOT NULL DEFAULT ''0000-00-00 00:00:00'',

`createrId` int(10) unsigned DEFAULT NULL,

`replys` int(10) unsigned NOT NULL DEFAULT ''0'',

`lastPostUserId` int(10) unsigned DEFAULT NULL,

`lastPostId` int(10) unsigned DEFAULT NULL,

`forumId` int(10) unsigned DEFAULT NULL,

`visits` int(10) unsigned NOT NULL DEFAULT ''0'',

`lastPostCreated` datetime NOT NULL DEFAULT ''0000-00-00 00:00:00'',

`lastPostNickName` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '''',

`createrNickName` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '''',

`solved` tinyint(1) NOT NULL DEFAULT ''0'',

`locked` tinyint(1) NOT NULL DEFAULT ''0'',

`lockedByUserId` int(10) unsigned NOT NULL DEFAULT ''0'',

`lockedDate` datetime NOT NULL DEFAULT ''0000-00-00 00:00:00'',

`alteredDate` datetime NOT NULL DEFAULT ''0000-00-00 00:00:00'',

`alteredUserId` int(10) unsigned DEFAULT NULL,

`glued` tinyint(1) NOT NULL DEFAULT ''0'',

`pollId` int(10) unsigned DEFAULT NULL,

`facebookPostId` bigint(20) DEFAULT NULL,

`facebookImportedDate` datetime DEFAULT NULL,

PRIMARY KEY (`id`),

KEY `FK_forum_threads_1` (`forumId`),

KEY `FK_forum_threads_2` (`pollId`),

KEY `createdDate` (`createdDate`),

KEY `createrId` (`createrId`),

KEY `lastPostCreated` (`lastPostCreated`),

CONSTRAINT `FK_forum_threads_1` FOREIGN KEY (`forumId`) REFERENCES `forum` (`id`) ON DELETE CASCADE

) ENGINE=InnoDB AUTO_INCREMENT=4306 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci'

'CREATE TABLE `forum` (

`id` int(10) unsigned NOT NULL AUTO_INCREMENT,

`title` varchar(80) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '''',

`description` varchar(150) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '''',

`createdDate` datetime NOT NULL DEFAULT ''0000-00-00 00:00:00'',

`threads` int(10) unsigned NOT NULL DEFAULT ''0'',

`createrId` int(10) unsigned DEFAULT NULL,

`lastPostUserId` int(10) unsigned DEFAULT NULL,

`lastThreadId` int(10) unsigned DEFAULT NULL,

`parentForumId` int(10) unsigned DEFAULT NULL,

`lastPostNickName` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '''',

`lastPostCreated` datetime NOT NULL DEFAULT ''0000-00-00 00:00:00'',

`lastThreadTitle` varchar(80) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '''',

`alteredDate` datetime NOT NULL DEFAULT ''0000-00-00 00:00:00'',

`alteredUserId` int(10) unsigned DEFAULT NULL,

`placeOrder` int(10) unsigned NOT NULL DEFAULT ''0'',

`separator` tinyint(1) NOT NULL DEFAULT ''0'',

`rightLevel` int(10) unsigned NOT NULL DEFAULT ''1'',

`createChildForum` tinyint(3) unsigned NOT NULL DEFAULT ''1'',

`createThreads` tinyint(3) unsigned NOT NULL DEFAULT ''1'',

PRIMARY KEY (`id`),

KEY `Index_1` (`id`,`parentForumId`)

) ENGINE=InnoDB AUTO_INCREMENT=375 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值