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

Czy istnieje powód, aby nie używać <=> (null safe równa się operatorowi) w mysql zamiast =?

Poprosiłeś o kilka przykładów z prawdziwego świata. Oto fałszywy. Załóżmy, że prowadzisz program dla młodzieży lub coś podobnego, a jednym z wymagań jest to, aby dzieci dzieliły pokój tylko z kimś tej samej płci. Masz w bazie danych pole M/F dopuszczające wartość null — dopuszczające wartość null, ponieważ plik danych jest niekompletny (nadal poszukujesz niektórych danych). Twój kod dopasowujący salę zdecydowanie nie powinien odpowiadać uczniom, dla których t1.Płeć<=>t2 .Płeć, ponieważ może to skończyć się dopasowaniem dwójki dzieci nieznanej płci, które mogą być przeciwnej płci. Zamiast tego dopasowujesz, gdzie są równe, a nie oba są zerowe.

To tylko jeden przykład. Przyznaję, że zachowanie NULL i = operator spowodował wiele zamieszania na przestrzeni lat, ale ostatecznie wina leży prawdopodobnie w mnóstwie samouczków online MySQL, które nie wspominają o tym, jak NULL współdziała z operatorami, ani o istnieniu <=> operatora.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. pip install mysqlclient na amazon linux

  2. Zatwierdzenie i transakcja MySQL

  3. Mysql nie uruchamia się w kontenerze dockera na MacOS po aktualizacji dockera

  4. Mysql:Ustaw zestaw znaków kolumny

  5. Hibernuj automatycznie twórz bazę danych