我的模式中有几个表在截断时遇到了问题。我的结构是:
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方面的任何Maven,实际上几乎不是初学者,但我需要能够截断数据,因为它是用于测试应用程序的,我有我不再需要的模拟数据。
这是我得到的错误:
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个条目的表,即使在添加后表中只有一个条目,它仍然会显示id为4,有解决方法吗?
我没有访问原始数据库创建脚本的权限。
1条答案
按热度按时间m1m5dgzv1#
一个非常不安全的解决方案是:
然后,将其设置为: