为了账号安全,请及时绑定邮箱和手机立即绑定

查询数据库字段问题

查询数据库字段问题

Qyouu 2018-08-23 15:23:38
比如我要在后端查询一个表test,表中有一个id自增,一个唯一的字段A,还有一个是插入时间insert_time,一个是类型,我要查询的话是不是根据哪个唯一的字段就可以了(SELECT FROM test WHERE A="xx"),不必使用(SELECT FROM test WHERE id="xx" AND A="xx" AND insert_time="xx")。谢谢
查看完整描述

2 回答

?
开心每一天1111

TA贡献1836条经验 获得超12个赞

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

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

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

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


查看完整回答
反对 回复 2018-08-26
?
婷婷同学_

TA贡献1844条经验 获得超8个赞

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

查看完整回答
反对 回复 2018-08-26
  • 2 回答
  • 0 关注
  • 719 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信