gpt4 book ai didi

mysql - 无法截断表mysql

转载 作者:行者123 更新时间:2023-11-29 05:51:28 25 4
gpt4 key购买 nike

我的架构中有几个表在截断时遇到问题。我的结构是:

country
->PK countryId
->name

city
->PK cityId
->FK countryId
->name

address
->PK addressId
->FK cityId

customer
->PK customerId
->FK addressId

appointment
->PK appointmentId
->FK customerId

现在我不是制作这张表的人,它是提供给我的,我也不是 SQL 方面的专家,实际上算不上初学者,但我需要能够截断数据,因为它是为了测试应用程序和我不再需要的模拟数据。

这是我遇到的错误:

TRUNCATE TABLE country  Error Code: 1701. Cannot truncate a table referenced in a foreign key constraint (`U05FKQ`.`city`, CONSTRAINT `city_ibfk_1` FOREIGN KEY (`countryId`) REFERENCES `U05FKQ`.`country` (`countryId`))  0.547 sec

我也试过运行这个:

TRUNCATE TABLE appointment;
TRUNCATE TABLE customer;
TRUNCATE TABLE address;
TRUNCATE TABLE city;
TRUNCATE TABLE country;

在约会截断上成功但在客户上失败,并且不会继续。

我在对应用程序中的数据进行单次删除时注意到的另一个大问题是自动递增的 ID 不会调整。也不会删除整个表格的数据,IE 如果我删除一个包含 3 个条目的完整表格,即使我在添加后表格中只有一个条目,它仍然显示我的 ID 为 4,是否有解决办法?

我无权访问原始数据库创建脚本。

最佳答案

一个非常不安全的数据解决方案是:

SET FOREIGN_KEY_CHECKS=0;

然后,将其重新设置为:

SET FOREIGN_KEY_CHECKS=1;

关于mysql - 无法截断表mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53555225/

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