OrientDB 强制 属性 类型为字符串
OrientDB force property type to be string
我正在使用 OrientDB 并尝试在插入数据(数百万行)后创建新的 属性。
我正在尝试在 V 上创建 属性 以创建索引,但出现以下错误:
The database contains some schema-less data in the property
'V.ACCOUNT_NO' that is not compatible with the type STRING. Fix those
records and change the schema again [ONetworkProtocolHttpDb]
现在部分字段类型是INTEGER,但在我看来,将类型转换为STRING非常容易。
我怎样才能对整个数据执行此操作?
我通过在无模式模式下创建这个简单的结构来尝试你的案例:
这些记录混合了 INTEGER
和 STRING
类型:
现在您可以使用此查询转换非字符串记录类型:
UPDATE V SET ACCOUNT_NO = ACCOUNT_NO.asString() WHERE ACCOUNT_NO.type() <> 'STRING'
输出:
关于异常,当我尝试在 schema-full 模式下创建类型为 STRING
的新 属性 V.ACCOUNT_NO
时,我正确地得到了同样的错误,这是正确的,因为属性 已存在于数据库中并包含混合类型的记录,尽管处于无模式模式。
转换完所有记录后,您就可以创建新的 属性。
希望对您有所帮助
我正在使用 OrientDB 并尝试在插入数据(数百万行)后创建新的 属性。
我正在尝试在 V 上创建 属性 以创建索引,但出现以下错误:
The database contains some schema-less data in the property 'V.ACCOUNT_NO' that is not compatible with the type STRING. Fix those records and change the schema again [ONetworkProtocolHttpDb]
现在部分字段类型是INTEGER,但在我看来,将类型转换为STRING非常容易。
我怎样才能对整个数据执行此操作?
我通过在无模式模式下创建这个简单的结构来尝试你的案例:
这些记录混合了 INTEGER
和 STRING
类型:
现在您可以使用此查询转换非字符串记录类型:
UPDATE V SET ACCOUNT_NO = ACCOUNT_NO.asString() WHERE ACCOUNT_NO.type() <> 'STRING'
输出:
关于异常,当我尝试在 schema-full 模式下创建类型为 STRING
的新 属性 V.ACCOUNT_NO
时,我正确地得到了同样的错误,这是正确的,因为属性 已存在于数据库中并包含混合类型的记录,尽管处于无模式模式。
转换完所有记录后,您就可以创建新的 属性。
希望对您有所帮助