sql >> Databasteknik >  >> Database Tools >> phpMyAdmin

Vilket är standardvärdet för ett fält om inget standardvärde anges?

Med hänvisning till manualen ,

För datainmatning för en NOT NULL-kolumn som inte har någon explicit DEFAULT-sats, om en INSERT- eller REPLACE-sats inte innehåller något värde för kolumnen, eller en UPDATE-sats ställer in kolumnen till NULL, hanterar MySQL kolumnen enligt det SQL-läge som gäller vid tidpunkten:

  • Om strikt SQL-läge inte är aktiverat ställer MySQL in kolumnen till det implicita standardvärdet för kolumndatatypen.
  • Om strikt läge är aktiverat uppstår ett fel för transaktionstabeller och satsen återställs. För icke-transaktionella tabeller uppstår ett
    fel, men om detta inträffar för den andra eller efterföljande raden i en flerradssats, kommer de föregående raderna att ha infogats.

Så din fråga nu kan vara, vilka är de implicita standardvärdena för de olika kolumndatatyperna? Varsågod:

Implicita standardvärden definieras enligt följande:

  • För numeriska typer är standardvärdet 0, med undantag för att för heltals- eller flyttalstyper som deklareras med AUTO_INCREMENT
    attributet är standard nästa värde i sekvensen.
  • För andra datum- och tidstyper än TIMESTAMP är standardvärdet lämpligt "noll"-värde för typen. För den första TIMESTAMP-kolumnen i en tabell är standardvärdet aktuellt datum och tid. Se avsnitt 10.3, "Datum- och tidstyper".
  • För andra strängtyper än ENUM är standardvärdet den tomma strängen. För ENUM är standardvärdet det första uppräkningsvärdet.


  1. SQL-fråga ger fel resultat

  2. Förbjudet:Du har inte behörighet att komma åt / på denna server, WAMP-fel

  3. Hur man skapar en ERD med phpmyadmin

  4. Schemaändringar uppdateras inte i Intellisense i SQL 2008 (SSMS)