我有几个包含内容的表格。有没有办法在不删除密钥(主键,外键等)的情况下删除所有内容?
当我说截断或删除时,它显然会返回错误。
无法截断表'login',因为它正被FOREIGN KEY约束引用。
答案 0 :(得分:2)
你是对的,你不能在使用外键的表上运行truncate table。但是您可以在表本身上运行正常删除。
唯一需要注意的是订单。
例如:
您有一个表users
和一个表users_log
,您可以在其中存储所有用户登录。
如果来自users
的行仍然引用它们,则无法在users_log
表上运行删除。
如果您从users_log
删除所有行,然后从users
删除行,则一切都会正常。
在此特定示例中,此代码将起作用:
DELETE FROM users_log
DELETE FROM users
虽然这取得了成功:
DELETE FROM users
DELETE FROM users_log -- which has a foreign key constraint on users