如何防止删除 MySql 中的默认行?
假设,我有一条 id 为 0 的记录,用户无法插入任何 id 值为 0 的记录,在某些情况下我使用默认行值来显示默认设置。现在我想防止用户在数据库级别删除此行。
我尝试使用triger来执行此操作,例如我在删除id值之前 checkin ,如果id==0,则id=4444444.. .,在这种情况下不会删除任何记录,因为我用不存在的行id设置了id。但这个方法不行;
最佳答案
您可以创建一个使用引用 ID 列的外键约束的表(前提是它是表的主键)。然后在引用 ID = 0 的“子”表中插入一行,并从该子表中删除用户的所有更新/删除权限。
现在,如果有人尝试删除“父”表中 ID = 0 的行,则由于另一个表中存在子行,该行将会失败。
使用此模式,您可以“保护”父表中的任何 ID 不被删除。
关于mysql - 如何防止删除 MySql 中的默认行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5132249/