gpt4 book ai didi

mysql - 在 MySQL 中进行子分区时出现语法错误

转载 作者:行者123 更新时间:2023-11-29 10:04:58 25 4
gpt4 key购买 nike

尝试在 MySQL 中对表进行子分区时遇到语法错误。尝试对常规分区使用任何一种方法时都不会出现错误,只需进行子分区即可。最后两行导致了错误,我有点迷失了。

我还尝试将主分区的 KEY 切换为 HASH,将 LIST 切换为 RANGE,但仍然会引发错误。

  CREATE TABLE `map_polygon` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`district_id` int(10) unsigned NOT NULL DEFAULT '0',
`map_type_id` int(10) unsigned DEFAULT NULL,
`is_big_data` tinyint(1) DEFAULT '0',
`polygon_group` int(10) unsigned DEFAULT NULL,
`name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`sort_order` int(10) unsigned DEFAULT NULL,
`locations` mediumtext COLLATE utf8_unicode_ci,
`north` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL,
`south` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL,
`east` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL,
`west` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL,
`group_north` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL,
`group_south` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL,
`group_east` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL,
`group_west` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL,
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL,
`deleted_at` timestamp NULL DEFAULT NULL,
`deleted_by_user_id` int(10) unsigned DEFAULT NULL,
`created_by_user_id` int(10) unsigned NOT NULL,
PRIMARY KEY (`id`,`district_id`, `is_big_data`),
KEY `map_polygons_created_by_user_id_foreign` (`created_by_user_id`),
KEY `map_polygons_deleted_by_user_id_foreign` (`deleted_by_user_id`),
KEY `map_polygons_map_type_id_foreign` (`map_type_id`),
KEY `map_polygons_district_id_foreign` (`district_id`),
KEY `is_big_data` (`is_big_data`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
PARTITION BY LIST(is_big_data)
PARTITIONS 2 (
PARTITION pNormal VALUES IN (0),
PARTITION pBigData VALUES IN (1)
)
SUBPARTITION BY KEY(district_id)
SUBPARTITIONS 10;

最佳答案

似乎只是对分区子句进行了轻微的重新排列( http://www.sqlfiddle.com/#!9/9d746 )

  PARTITION BY LIST(is_big_data)
SUBPARTITION BY KEY(district_id)
SUBPARTITIONS 10
(
PARTITION pNormal VALUES IN (0),
PARTITION pBigData VALUES IN (1)
);

关于mysql - 在 MySQL 中进行子分区时出现语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52091003/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com