是否可以在事务级别上进行约束检查? 例如,有结构:
CREATE TABLE _users (
id INT UNSIGNED NOT NULL,
value VARCHAR(30) NOT NULL,
PRIMARY KEY (id)
) ENGINE = InnoDB;
CREATE TABLE _visits (
id INT UNSIGNED NOT NULL,
user_id INT UNSIGNED NOT NULL,
FOREIGN KEY (user_id) REFERENCES _users (id)
) ENGINE = InnoDB;
以下是查询示例,我想触发fk检查。 可能吗?如果没有,是否还有其他方法可以进行延迟检查。
START TRANSACTION;
SET FOREIGN_KEY_CHECKS = 0;
INSERT INTO _visits (id, user_id) VALUES (1,1);
INSERT INTO _users (id, value) VALUES (1, 'value');
SET FOREIGN_KEY_CHECKS = 1;
-- HERE I WANT TO TRIGGER CONSTRAINT CHECKS
COMMIT;