在芝麻中实施班次作业

时间:2019-06-26 11:49:09

标签: sesam

我具有以下实体

源数据

{
  "$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``

1 个答案:

答案 0 :(得分:0)

从我可以看到的角度来看,您的新ID值(614192669006)应该很好地适合大整数。也许数据库列仍然是整数?