Nogle kolonner i MySQL , såsom dato-og tidsstempel kolonner , kan ikke indeholde værdien null . Hvis du forsøger at opdatere kolonnen til en null-værdi , får du fejlmeddelelse om, at opdateringen kolonnen attribut er nul , der heller ikke opdateringen erklæring fuldføre. For at løse problemet , skal du tjekke din MySQL -koden og opsætte erklæring til kun indsætte en ikke- null-værdi i kolonnen. Formål
Time og datokolonner i MySQL kræver en dato og tid værdi. Fejlen lader dig vide, at opdateringen erklæring, du oprettede i MySQL query editor indsætte en null-værdi . Fejlen sikrer dataintegritet i din MySQL tabeller . Hvis du har flere opdatering udsagn , MySQL giver dig den linje nummer hvor opdateringen erklæring forårsaget en fejl .
Resolution
Opdateringen erklæring har en specifik syntaks skal du bruge til at ændre værdierne i MySQL-database . Følgende kode er et eksempel på en opdatering erklæring , der ændrer " modified_date " : Hej
update kunde sæt modified_date = @ dato , hvor kunden = 33
" @ date" led er variabel, der bruges til at opdatere kundens ændrede dato . Hvis variabel indeholder null , modtager du MySQL fejl. Du skal ændre @ dato variabel til en dato værdi at rette fejlen returneres af databasen.
Tildele værdier
Du kan manuelt tildele en standardværdi til MySQL variabel , så du altid indsætte en korrekt formateret dato og tid . Den " CURDATE "-funktionen får den aktuelle dato og klokkeslæt. Det bruges i procedurer, hvor du skal indstille et tidsstempel , når du ændrer en rekord. Følgende kode viser, hvordan du sætte en aktuel dato for variablen : Hej
sæt @ date = CURDATE ();
Overvejelser
Hvis du brug for at gemme nULL-værdier i et tidsstempel kolonne , skal du ændre kolonnen attribut til en anden datatype . A " varchar " datatype kan du gemme en dato og tid, og du kan gemme en null- værdi. Skal du konvertere værdien til en dato og tid i dine procedurer til at bruge datofunktioner på en VARCHAR værdi.