Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL分区。分区函数返回错误的类型_Mysql_Hash_Partitioning - Fatal编程技术网

MySQL分区。分区函数返回错误的类型

MySQL分区。分区函数返回错误的类型,mysql,hash,partitioning,Mysql,Hash,Partitioning,以下查询中有什么不正确 CREATE TABLE `tbl_user_geolocation` ( `id` INT(11) NOT NULL AUTO_INCREMENT COMMENT 'Идентификатор', `user_id` VARCHAR(100) NOT NULL COMMENT 'ID пользователя', `client_type` VARCHAR(38) NULL DEFAULT NULL

以下查询中有什么不正确

CREATE TABLE `tbl_user_geolocation` (
            `id` INT(11) NOT NULL AUTO_INCREMENT COMMENT 'Идентификатор',
            `user_id` VARCHAR(100) NOT NULL COMMENT 'ID пользователя',
            `client_type` VARCHAR(38) NULL DEFAULT NULL COMMENT 'Тип клиента',
            `lat` DECIMAL(28,8) NOT NULL COMMENT 'Широта',
            `lon` DECIMAL(28,8) NOT NULL COMMENT 'Долгота',
            `created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'Дата создания',
            PRIMARY KEY (`id`, `user_id`)
        )
        PARTITION BY HASH(id+user_id) PARTITIONS 200;
错误:分区函数返回错误的类型。1491
此表用于保存用户地理位置数据

您需要将一个整数传递给
哈希
函数。但是在您的情况下,
user\u id
的类型是
VARCHAR

要使用哈希分区对表进行分区,必须 在CREATETABLE语句中附加一个按哈希划分的分区(expr) 子句,其中expr是返回整数的表达式


您需要将一个整数传递给
HASH
函数。但是在您的情况下,
user\u id
的类型是
VARCHAR

要使用哈希分区对表进行分区,必须 在CREATETABLE语句中附加一个按哈希划分的分区(expr) 子句,其中expr是返回整数的表达式


出于好奇,为什么散列函数需要整数?varchar还可以应用哈希函数。只是出于好奇,为什么哈希函数需要整数?varchar还可以应用哈希函数。