为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:8
【操作系统】:centos
【CPU】:x86
【问题描述】*:
mysql 迁移过来,主键自增,执行出现异常,有什么好的解决方案不:
Error updating database. Cause: dm.jdbc.driver.DMException: 仅当指定列列表,且SET IDENTITY_INSERT为ON时,才能对自增列赋值
表结构:
CREATE TABLE "PRIVACY_DETECTION"."TSYS_USER_LOGIN_LOG"
(
"LOG_ID" BIGINT IDENTITY(1, 1) NOT NULL,
"USER_ID" BIGINT,
"LOGIN_TIME" TIMESTAMP(0),
"LOGIN_MSG" VARCHAR(255),
"LOGIN_STATUS" INT,
"VALID_STATUS" INT,
NOT CLUSTER PRIMARY KEY("LOG_ID")) STORAGE(ON "MAIN", CLUSTERBTR) ;
COMMENT ON TABLE "PRIVACY_DETECTION"."TSYS_USER_LOGIN_LOG" IS '【可清理】登录日志';
COMMENT ON COLUMN "PRIVACY_DETECTION"."TSYS_USER_LOGIN_LOG"."LOGIN_MSG" IS '登录信息';
COMMENT ON COLUMN "PRIVACY_DETECTION"."TSYS_USER_LOGIN_LOG"."LOGIN_STATUS" IS '登录状态;1=成功,2=失败';
COMMENT ON COLUMN "PRIVACY_DETECTION"."TSYS_USER_LOGIN_LOG"."LOGIN_TIME" IS '登录时间';
COMMENT ON COLUMN "PRIVACY_DETECTION"."TSYS_USER_LOGIN_LOG"."LOG_ID" IS '日志ID';
COMMENT ON COLUMN "PRIVACY_DETECTION"."TSYS_USER_LOGIN_LOG"."USER_ID" IS '用户ID';
COMMENT ON COLUMN "PRIVACY_DE
建表时可以使用mysql的自增语法创建自增列auto_increment
完全不明白这样子的设计是怎么样的脑回路能想出来的,la ji设计
我也遇到这个问题,,mysql好好的,,达梦就不行了,,大家解决了么?
对于 mysql 的自增列,使用 auto_increment;
对于 sql server 的自增列,使用 identity;
至于 set identity_insert on 这个设计,是 sql server 想出来的。
所以有什么好办法吗?感觉这个真的好x'x啊,一堆莫名其妙的特性
1、如果自增列所在的列是由应用程序自动维护该数值的,那么可以将该列设置为非自增列;
2、如果自增列需要保留,只是对特殊的记录需要维护,那每次在更新前执行:
SET IDENTITY_INSERT 模式名.表名 ON;
然后执行具体SQL;
执行后再关闭:
SET IDENTITY_INSERT 模式名.表名 OFF;