Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Mysql, gdzie 1=0 zamieszania

Zależy to od rodzaju operacji logicznych, nad którymi pracujesz. Jeśli chcesz dodać zmienną liczbę AND instrukcji, wtedy używasz instrukcji, które niezmiennie dają prawdę, na przykład 1 = 1 . Z drugiej strony, jeśli chcesz zrobić to samo z OR instrukcji, powinieneś użyć instrukcji, której wynikiem jest fałsz, na przykład 1 = 0 .

Załóżmy, że masz zmienną logiczną x z nieokreśloną wartością prawdy (może to być prawda lub fałsz. Nie wiesz.) Teraz, jeśli znajdziesz wartość x AND false , otrzymujesz false , niezależnie od wartości x jest.

Z drugiej strony, jeśli spojrzysz na x OR true , otrzymasz true . Ponownie, jest to niezależne od wartości logicznej x .

W swoim oświadczeniu chcesz, aby zakodowana na stałe wartość nie miała wpływu na logikę zapytania. Ponieważ false OR a OR b OR c jest logicznie odpowiednikiem a OR b OR c , instrukcja zakodowana na sztywno nie ma żadnego efektu. W innym przypadku true AND a AND b AND c jest odpowiednikiem a AND b AND c .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL – Błąd połączenia – [MySQL][ODBC 5.3(w) Driver] Host „IP” nie może połączyć się z tym serwerem MySQL

  2. MySQL:ON UPDATE CASCADE dla prostej tabeli id|nadrzędny|tekst, nie jest możliwe?

  3. Walidacja pole UNIQUE w Codeigniter z indeksem 2

  4. MySQL group_concat_max_len w zapytaniu

  5. Ostrzeżenie:mysql_query() oczekuje, że parametr 2 będzie zasobem, wartość logiczna podana w C:\wamp\www\pyrll\emlhome.php w linii 15.