我在数据库结构中使用外键约束。同时,Im还验证了来自客户端的数据。
例如,当用户提交包含“customer”字段及其主键作为值的表单时,我将在执行数据库插入之前检查该客户是否存在。即使我已经设置了外键约束。
方法Im有点多余吗?或者它真的是多余的吗?
答案 0 :(得分:2)
这不是多余的,因为你为两个不同的家庭服务:
客户端检查是为了改善用户体验,并告诉用户他提交的内容有什么问题;你可以在它到达数据库之前发现错误,并给他一个正确的错误信息,而不是一个MySQL丑陋的
服务器/数据库端检查是为了保护您的应用程序,防止错误或恶意行为(注入等)