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

Moja instrukcja where z funkcją JSON_extract na kolumnie dopuszczającej wartość null jest potwierdzana, gdy wartość tej kolumny wynosi NULL?

To:

->where(function($query) use ($other_key, $new_change) {
    $query->where(DB::raw('json_extract(old_value, "$.theme_id") = 1))
        ->orWhere(DB::raw('json_extract(new_value, "$.theme_id") = 1));

Powinno być:

->where(function($query) use ($other_key, $new_change) {
    $query->where(DB::raw("json_extract(old_value, '$.theme_id')"), 1);
        ->orWhere(DB::raw("json_extract(new_value, '$.theme_id')"), 1);

Tak właśnie działają stwierdzenia w Laravelu. Nie wstawiłem drugiego parametru i dlatego Laravel założył, że sprawdzam NULL. Teraz działa, przepraszam za moją głupotę.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Co to za błąd? Zapytanie bazy danych nie powiodło się:dane zostały obcięte dla kolumny „nazwa_kolumny” w wierszu 1

  2. Docker (Apple Silicon/M1 Preview) MySQL brak pasującego manifestu dla linux/arm64/v8 we wpisach listy manifestu

  3. MySQL Group By i Suma całkowita wartość innej kolumny

  4. Node.js MySQL - Błąd:połącz ECONNREFUSED

  5. Błąd MySQL 5.7 (1093:nie można określić tabeli docelowej ___ do aktualizacji w klauzuli FROM) - zwykłe rozwiązanie nie działa