MySQL推迟了外键检查。可能吗?

时间:2016-06-02 17:46:35

标签: mysql foreign-keys

是否可以在事务级别上进行约束检查? 例如,有结构:

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;

0 个答案:

没有答案