查询数据库字段问题

  • 比如我要在后端查询一个表test,表中有一个id自增,一个唯一的字段A,还有一个是插入时间insert_time,一个是类型,我要查询的话是不是根据哪个唯一的字段就可以了(SELECT FROM test WHERE A="xx"),不必使用(SELECT FROM test WHERE id="xx" AND A="xx" AND insert_time="xx")。谢谢
阅读 1.6k
2 个回答

通常情况下是的. 你通过 A 就可以确定唯一的条数据了, 其他条件没有用了.

不过你把所有条件都加上的话可以防伪, 如果有人知道 A, 伪造了 id 和 insert_time, 那么肯定是不存在一条数据同时满足 id, A, insert_time 这三个条件的. 这时候单独查 A 会返回结果, 同时查则没有数据.

举个场景例子:
身份证号是唯一的, 尽管你可以仅凭身份证号查询到个人信息, 但一般实名认真时都会要求同时提供身份号和名字两条信息来确保信息匹配. 此时就需要明确的使用两个条件来确定数据.

select name, city, address from identities where id = 'x' and name = 'x';

确保字段唯一当然可以不用添加额外条件,添加AND条件的目的就是为了精确得到最终结果

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题