鍍金池/ 問答/數(shù)據(jù)庫/ 查詢數(shù)據(jù)庫字段問題

查詢數(shù)據(jù)庫字段問題

  • 比如我要在后端查詢一個表test,表中有一個id自增,一個唯一的字段A,還有一個是插入時間insert_time,一個是類型,我要查詢的話是不是根據(jù)哪個唯一的字段就可以了(SELECT FROM test WHERE A="xx"),不必使用(SELECT FROM test WHERE id="xx" AND A="xx" AND insert_time="xx")。謝謝
回答
編輯回答
喜歡你

確保字段唯一當(dāng)然可以不用添加額外條件,添加AND條件的目的就是為了精確得到最終結(jié)果

2018年3月16日 10:40
編輯回答
悶騷型

通常情況下是的. 你通過 A 就可以確定唯一的條數(shù)據(jù)了, 其他條件沒有用了.

不過你把所有條件都加上的話可以防偽, 如果有人知道 A, 偽造了 id 和 insert_time, 那么肯定是不存在一條數(shù)據(jù)同時滿足 id, A, insert_time 這三個條件的. 這時候單獨查 A 會返回結(jié)果, 同時查則沒有數(shù)據(jù).

舉個場景例子:
身份證號是唯一的, 盡管你可以僅憑身份證號查詢到個人信息, 但一般實名認(rèn)真時都會要求同時提供身份號和名字兩條信息來確保信息匹配. 此時就需要明確的使用兩個條件來確定數(shù)據(jù).

select name, city, address from identities where id = 'x' and name = 'x';
2018年3月13日 17:10