gpt4 book ai didi

mysql - mysqlcheck 是否检查外键约束

转载 作者:行者123 更新时间:2023-12-04 08:56:25 25 4
gpt4 key购买 nike

我正在阅读 mysqlcheck 的文档here ,但我无法理解 --check ,我的意思是,我无法理解它检查了什么错误(我只能找到 Check the tables for errors. This is the default operation. )。
(我的目标是检查外键约束,因为我已经使用 SET FOREIGN_KEY_CHECKS = 0; 插入了一堆记录)

最佳答案

我做了这个测试:

DROP TABLE test2;
DROP TABLE test1;

CREATE TABLE test1(id INT primary key) ENGINE INNODB;
CREATE TABLE test2(
id INT PRIMARY KEY,
CONSTRAINT fk_test1 FOREIGN KEY (id) REFERENCES test1 (id)
) ENGINE INNODB;

INSERT INTO test1 VALUES (1);

SET FOREIGN_KEY_CHECKS = 0;
SELECT @@FOREIGN_KEY_CHECKS;

INSERT INTO test2 VALUES (1);
INSERT INTO test2 VALUES (2);
INSERT INTO test2 VALUES (3);

SET FOREIGN_KEY_CHECKS = 1;
SELECT @@FOREIGN_KEY_CHECKS;

-- INSERT INTO test2 VALUES (4);

SELECT * FROM test1;
SELECT * FROM test2;
输出:
0
1
id
1
id
1
2
3
然后我跑了 mysqlcheck :
>mysqlcheck -c -u root testdb test2
testdb.test2 OK
所以我认为这个 Check the tables for errors.表示数据存储错误(低级),而不是数据一致性
运行 CHECK TABLE test2预期给出相同的结果。
打开此检查后,我找不到一种简单的方法来检查外键。似乎唯一要做的就是与 information_schema 一起使用为所有 FK 约束编写选择。

关于mysql - mysqlcheck 是否检查外键约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63807018/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com