比如我要在后端查询一个表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条经验 获得超13个赞
通常情况下是的. 你通过 A 就可以确定唯一的条数据了, 其他条件没有用了.
不过你把所有条件都加上的话可以防伪, 如果有人知道 A, 伪造了 id 和 insert_time, 那么肯定是不存在一条数据同时满足 id, A, insert_time 这三个条件的. 这时候单独查 A 会返回结果, 同时查则没有数据.
举个场景例子:
身份证号是唯一的, 尽管你可以仅凭身份证号查询到个人信息, 但一般实名认真时都会要求同时提供身份号和名字两条信息来确保信息匹配. 此时就需要明确的使用两个条件来确定数据.
select name, city, address from identities where id = 'x' and name = 'x';
添加回答
举报
0/150
提交
取消