sql >> Database >  >> RDS >> Mysql

Mysql waar 1=0 verwarring

Dit hangt af van het type booleaanse bewerkingen waaraan u werkt. Als u een variabel aantal AND . wilt toevoegen statements, dan gebruik je een statement dat altijd als true evalueert, zoals 1 = 1 . Aan de andere kant, als je hetzelfde wilt doen met OR statements, dan moet je een statement gebruiken dat evalueert naar false, zoals 1 = 0 .

Stel dat u een booleaanse variabele x . heeft met een onbepaalde waarheidswaarde (het kan waar zijn, of het kan onwaar zijn. U weet het niet.) Als u nu de waarde van x AND false vindt , krijg je false , ongeacht de waarde van x is.

Aan de andere kant, als je kijkt naar x OR true , krijg je true . Nogmaals, dit is ongeacht de waarheidswaarde van x .

In uw instructie wilt u dat de hardgecodeerde waarde geen effect heeft op de logica van de query. Aangezien false OR a OR b OR c is logisch equivalent aan a OR b OR c , heeft de hard-coded instructie geen effect. In het andere geval, true AND a AND b AND c is gelijk aan a AND b AND c .



  1. Kan `mysqlcheck` mij helpen databaseproblemen op te lossen zonder mijn database te beschadigen?

  2. PostgreSQL JDBC Null String genomen als bytea

  3. MySQLdb Python voegt %d en %s in

  4. Hoe maak je een back-up en herstel je een PostgreSQL-database?