sql >> Database >  >> RDS >> Mysql

Een kolom instellen als tijdstempel in MySql-workbench?

BEWERKEN

Vanaf MySQL 5.6.4, datatype TIMESTAMP(n) specificeert n (0 tot 6) decimale cijfers van precisie voor fractionele seconden.

Vóór MySQL 5.6 bood MySQL geen ondersteuning voor fractionele seconden die werden opgeslagen als onderdeel van een TIMESTAMP gegevenstype.

Referentie:https://dev.mysql.com/doc /refman/5.6/nl/fractionele-seconden.html

We hoeven geen lengtemodifier op te geven voor een TIMESTAMP . We kunnen gewoon TIMESTAMP specificeren vanzelf.

Maar houd er rekening mee dat de eerste TIMESTAMP kolom gedefinieerd in de tabel is onderhevig aan automatische initialisatie en update. Bijvoorbeeld:

create table foo (id int, ts timestamp, val varchar(2));

show create table foo; 

CREATE TABLE `foo` (
`id` INT(11) DEFAULT NULL,
`ts` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`val` VARCHAR(2) DEFAULT NULL
) 

Wat tussen haakjes staat na een datatype hangt af van wat het datatype is, maar voor sommige datatypes is het een lengtemodifier.

Voor sommige gegevenstypen heeft de lengtemodifier invloed op de maximale lengte van waarden die kunnen worden opgeslagen. Bijvoorbeeld VARCHAR(20) kunnen maximaal 20 tekens worden opgeslagen. En DECIMAL(10,6) maakt numerieke waarden mogelijk met vier cijfers voor de komma en zes achter, en een effectief bereik van -9999.999999 tot 9999.999999.

Voor andere typen heeft de lengtemodifier geen invloed op het bereik van waarden die kunnen worden opgeslagen. Bijvoorbeeld INT(4) en INT(10) zijn beide integer, en beide kunnen het volledige bereik van waarden opslaan voor toegestaan ​​voor het datatype integer.

Wat die lengtemodifier in dat geval doet, is slechts informatief. Het specificeert in wezen een aanbevolen weergavebreedte. Een klant kan daar gebruik van maken om te bepalen hoeveel ruimte op een rij moet worden gereserveerd voor het weergeven van waarden uit de kolom. Een klant hoeft dat niet te doen, maar die informatie is wel beschikbaar.

BEWERKEN

Een lengtemodifier wordt niet langer geaccepteerd voor de TIMESTAMP data type. (Als u een echt oude versie van MySQL gebruikt en deze wordt geaccepteerd, wordt deze genegeerd.)



  1. Een datetime-veldtijdstempel converteren van mysql naar php

  2. Charlotte SQL Server-gebruikersgroep:langzame zoekopdrachten oplossen. Snel.

  3. java.lang.NoSuchFieldError:GEEN in winterslaap met Spring 3, maven, JPA, c3p0

  4. Elk item dat uit de SQLite-database is opgehaald, instellen in een eigen tekstweergave