唯一索引的键被截断

时间:2014-07-08 15:55:00

标签: mysql google-app-engine google-cloud-sql

我们将数据从Google Datastore复制到Google Cloud SQL。 密钥的字符串表示形式用作MySQL表的主键。 有父母的实体往往有很长的钥匙(120个字符并不罕见)。

最近,我们正在观察问题,抛出了IntegrityError:

IntegrityError: (1062, u"Duplicate entry 'xxx' for key 'PRIMARY'")

其中xxx是密钥的前64个字符,长度为100到115个字符

似乎只检查了varchar(255)列的前64个字符。有没有办法改变它?目前,不能选择使用较短的密钥。

这是定义:

CREATE TABLE `table_name` (
  `_key` varchar(255) CHARACTER SET ascii COLLATE utf8_bin NOT NULL,
  PRIMARY KEY (`_key`)
)

0 个答案:

没有答案