我具有以下实体
源数据
{
"$ids": [
"~:xyz:431-35033464"
],
"_deleted": false,
"_hash": "8717270a4d9d367022ae1aac1c0796be",
"_id": "mips-company:431-35033464",
"_previous": 11461,
"_ts": 1561267134181856,
"_updated": 13577,
"xyz:CompanyId": 12345678,
"xyz:CompanyName": "Zoouid",
"xyz:CompanyNo": "ZD",
"xyz:ProjectId": 143,
"rdf:type": "~:xyz:Company"
}
需要的是在将此数据填充到GCP托管的sql实例之前,将其设置为id属性(列是32位的INT,并且当我们将这两个属性组合时,会将其增加到64位的BIGINT)是使用班次操作创建的项目具有ProjectId和CompanyId的组合,
之前 我试图将其串联并转换回整数,但出现超出范围的错误,因此系统所有者希望进行移位操作,并且由于我们在sesam中没有该操作,因此他建议使用乘法和指数实现(不确定是否确实解决了问题)。即(143 * 2 ^ 32 + 12345678)我们仍然超出了范围。
输出如下-
[
{
"_id": "mips-company:431-35033464",
"company-xyz:comp_number": "ZD",
"company-xyz:id": 614192669006,
"company-xyz:name": "Zoouid",
"company-xyz:project_id": 143
}
]
我仍然遇到错误-
“ original_error_message”:“ sqlalchemy.exc.DataError: (mysql.connector.errors.DataError)1264(22003):超出范围值 对于第1行[SQL:'INSERT INTO company(id,comp_number, 名称project_id``
答案 0 :(得分:0)
从我可以看到的角度来看,您的新ID值(614192669006)应该很好地适合大整数。也许数据库列仍然是整数?