actiontech / sqle

一个支持多种不同类型数据库,覆盖事前控制、事后监督、标准发布场景,帮助您建立质量规范的SQL全生命周期质量管理平台
Mozilla Public License 2.0
1.45k stars 185 forks source link

INSERT语句错误触发规则`不支持回滚 INSERT 没有指定主键的语句` #2613

Open LordofAvernus opened 1 month ago

LordofAvernus commented 1 month ago

版本信息(Version)

3.2408.0

问题描述(Describe)

指定主键执行INSERT 语句时,错误提示不支持回滚 INSERT 没有指定主键的语句

截图或日志(Log)

408628f3-cf4a-4e22-a911-3eb56c0e2433

如何复现(To Reproduce)

  1. 构建样例表

CREATE TABLE dms_rel.tb_test_l (
id int NOT NULL AUTO_INCREMENT COMMENT '主键ID',
COUPON_ID int NULL COMMENT '优惠券ID',
ORDER_TYPE varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '订单类型',
PRODUCT_SUBTYPE varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '产品子类型',
CREATE_TIME timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
CREATE_USER varchar(30) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '创建人',
MODIFY_TIME timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
MODIFY_USER varchar(30) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '修改人',
PRIMARY KEY (ID),
KEY IDX_COUPID (COUPON_ID)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

  1. 确保规则 image

  2. 审核问题语句 INSERT INTO dms_rel.tb_test_l(id,COUPON_ID, ORDER_TYPE,MODIFY_TIME,MODIFY_USER) VALUES(10149,10048,1,'2019-09-05 19:51:43',NULL);

INSERT INTO dms_rel.tb_test_l(COUPON_ID,ORDER_TYPE,MODIFY_TIME,MODIFY_USER) VALUES(10149,1,'2019-09-11 14:03:27',NULL);

INSERT INTO dms_rel.tb_test_l VALUES (10152,10049,1,NULL,'2019-09-1114:03:27',NULL,'2019-09-11 14:03:27',NULL);

问题原因

69bf04b2-c8cd-4c40-8ba0-13014ecdfc97

解决方案

变更影响面

受影响的模块或功能

外部引用的潜在问题或风险

版本兼容性

测试建议