我的架构中有几个表,它们在截断时遇到问题。我的结构是:
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不会调整。即使删除添加了3个条目的完整表,IE也不会删除整个表,IE,即使我在添加后仅在表中有一个条目,它仍显示ID为4,是否有此解决方法? / p>
我无权访问原始数据库创建脚本。
答案 0 :(得分:2)
一个非常不安全的解决方案是:
SET FOREIGN_KEY_CHECKS=0;
然后,将其设置为:
SET FOREIGN_KEY_CHECKS=1;