INFORMIX ERROR: A SERIAL column may not be updated
INFORMIX ERROR: A SERIAL column may not be updated
在 Uniface 上更新实体时出现错误。
uniface 中数据库的错误信息如下:
"INFORMIX ERROR (SQLSTATE: IX000): A SERIAL column (my_column) may not be updated.
SQLCODE -232: A SERIAL column (my_column) may not be updated."
我不明白为什么列“my_column”可能不会更新,这会进一步导致错误。
我应该怎么做才能修复错误?
使用了以下版本:
- Uniface 9.7
- Informix 12.10
正在将评论转为答案。
您不能像错误消息所说的那样更新 SERIAL 列 — 即使新值与旧值相同也不行。
您可以通过不尝试更新列来避免错误 — 不要在 UPDATE 语句中列出它。
我看了你之前的 Uniface + Informix 问题,发现我对 Uniface 的思维方式一无所知。
一个可能的最后手段是将列的类型从 SERIAL 更改为 INTEGER,然后可能使用 SEQUENCE 来提供作为 SERIAL 列特征的唯一值。 Informix 12.10 有序列。这对将数据插入此 table.
的其余代码有影响
在某些数据库上,Uniface 支持 identity/serial 列,而在其他数据库上则不支持。
对于 Informix,Uniface 有一个驱动程序选项来启用它:
USYS$INF_PARAMS 串行插入
您的字段的数据类型应该是:
(S)A10 系列
参见:
在 Uniface 上更新实体时出现错误。
uniface 中数据库的错误信息如下:
"INFORMIX ERROR (SQLSTATE: IX000): A SERIAL column (my_column) may not be updated.
SQLCODE -232: A SERIAL column (my_column) may not be updated."
我不明白为什么列“my_column”可能不会更新,这会进一步导致错误。
我应该怎么做才能修复错误?
使用了以下版本:
- Uniface 9.7
- Informix 12.10
正在将评论转为答案。
您不能像错误消息所说的那样更新 SERIAL 列 — 即使新值与旧值相同也不行。
您可以通过不尝试更新列来避免错误 — 不要在 UPDATE 语句中列出它。
我看了你之前的 Uniface + Informix 问题,发现我对 Uniface 的思维方式一无所知。
一个可能的最后手段是将列的类型从 SERIAL 更改为 INTEGER,然后可能使用 SEQUENCE 来提供作为 SERIAL 列特征的唯一值。 Informix 12.10 有序列。这对将数据插入此 table.
的其余代码有影响在某些数据库上,Uniface 支持 identity/serial 列,而在其他数据库上则不支持。
对于 Informix,Uniface 有一个驱动程序选项来启用它: USYS$INF_PARAMS 串行插入
您的字段的数据类型应该是: (S)A10 系列
参见: