Key too long issue
utf8 時,會使用 255 * 3 = 765 (bytes)
utf8mb4 255 * 4 = 1020 (so limit length is 191)
1 2 3 4 5 6 7 8 9 10 11 12 |
CREATE TABLE `settings` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `key` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL, `display_name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `value` text COLLATE utf8mb4_unicode_ci DEFAULT NULL, `details` text COLLATE utf8mb4_unicode_ci DEFAULT NULL, `type` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `order` int(11) NOT NULL DEFAULT 1, `group` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `settings_key_unique` (`key`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; |
Replace varchar(200) with varchar(191)
Other suggestions to change mysql settings (not working! )
Reference: