我们将数据从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`)
)