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

Wat is de standaardwaarde voor een veld als er geen standaardwaarde is opgegeven?

Verwijzend naar de handleiding ,

Voor gegevensinvoer voor een NOT NULL-kolom die geen expliciete DEFAULT-clausule heeft, als een INSERT- of REPLACE-instructie geen waarde voor de kolom bevat, of als een UPDATE-instructie de kolom instelt op NULL, behandelt MySQL de kolom volgens de SQL-modus die op dat moment van kracht is:

  • Als de strikte SQL-modus niet is ingeschakeld, stelt MySQL de kolom in op de impliciete standaardwaarde voor het kolomgegevenstype.
  • Als de strikte modus is ingeschakeld, treedt er een fout op voor transactietabellen en wordt de instructie teruggedraaid. Voor niet-transactionele tabellen treedt een
    fout op, maar als dit gebeurt voor de tweede of volgende rij van een instructie met meerdere rijen, zijn de voorgaande rijen ingevoegd.

Dus uw vraag kan nu zijn:wat zijn de impliciete standaardwaarden voor de verschillende kolomgegevenstypen? Hier ga je:

Impliciete standaardwaarden worden als volgt gedefinieerd:

  • Voor numerieke typen is de standaardwaarde 0, behalve dat voor typen gehele getallen of drijvende-komma's die zijn gedeclareerd met het kenmerk AUTO_INCREMENT
    de standaard de volgende waarde in de reeks is.
  • Voor andere datum- en tijdtypen dan TIMESTAMP is de standaardwaarde de juiste "nul"-waarde voor het type. Voor de eerste TIMESTAMP-kolom in een tabel is de standaardwaarde de huidige datum en tijd. Zie Paragraaf 10.3, “Typen datum en tijd”.
  • Voor andere typen tekenreeksen dan ENUM is de standaardwaarde de lege tekenreeks. Voor ENUM is de standaardwaarde de eerste opsommingswaarde.


  1. Is er een manier om witruimte in de query-editor voor SQL Server Management Studio Express 2005 te bekijken?

  2. extract van tekst uit kolom en kopieer het naar een nieuwe kolom

  3. Partitioneer MySQL-tabel op kolomwaarde

  4. Niet-opgeslagen SQL-queryscripts herstellen