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

Wstawianie NULL do NOT NULL kolumn z wartością domyślną

Opierając się na moich badaniach, powiedziałbym, że może to być zarówno kwestia „ty”, jak i „MySQL”. Sprawdź definicje tabeli za pomocą SHOW CREATE TABLE table_name; . Zanotuj wszystkie pola zdefiniowane za pomocą NOT NULL .

Podręcznik MySQL 5.6 Reference:13.2.5 Składnia INSERT stany:

Oznaczałoby to, że nie ma znaczenia, jakiego trybu SQL używasz. Jeśli robisz pojedynczy wiersz INSERT (zgodnie z przykładowym kodem) i wstawienie NULL wartość do kolumny zdefiniowanej za pomocą NOT NULL , to nie powinno działać.

Jak na ironię, jednym tchem, gdybyś po prostu pominął wartość z listy wartości, podręcznik MySQL mówi, co następuje, a tryb SQL ma znaczenie w tym przypadku:

Dlatego nie możesz wygrać!;-) Żartuję. Należy zaakceptować, że NOT NULL na polu tabeli MySQL naprawdę oznacza, że ​​nie zaakceptuję wartości NULL dla pola podczas wykonywania pojedynczego wiersza INSERT , niezależnie od trybu SQL ”.

Biorąc to wszystko pod uwagę, poniższe informacje z instrukcji są również prawdziwe:

Więc nabierz otuchy. Ustaw wartości domyślne w logice biznesowej (obiekty) i pozwól warstwie danych przyjąć kierunek od tego. Domyślne ustawienia bazy danych wydają się dobrym pomysłem, ale gdyby nie istniały, czy byś ich nie zauważył? Jeśli drzewo spadnie w lesie...



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak używać indeksów do poprawy wydajności zapytań MySQL

  2. Instalując magento, pojawia się błąd połączenia z bazą danych.

  3. Nachylenie MySQL (trend) pojedynczego pola (linia najlepszego dopasowania)

  4. Jak wykonać kopię zapasową bazy danych MySQL

  5. PHP — Używanie PDO z tablicą klauzul IN