Was ist die HH24:MM:SS
? Das sieht wie ein Oracle/Postgres-Argument für die TO_CHAR()
-Funktion aus.
Vermutlich wollen Sie zwei verschiedene mal und MySQL einen Datentyp für das hat:
create table attendance (
userId char(10) primary key not null,
name varchar(35) not null,
date_attendance date not null,
start_time time,
end_time time
);
Du timestamp
und time
verwirrend. Sie verwenden timestamp
, wenn Sie Zeitzoneninformationen in die Spaltenwerte aufnehmen möchten. Ich nehme an, dass Zeitzoneninformationen für Ihre Anwendung nicht wichtig sind.
Dies erlegt die strikte Anforderung, dass jeder Datensatz an einem einzigen Tag attendance
ist. Eine Alternative ist nur datetime
für beide zu verwenden:
create table attendance (
userId char(10) primary key not null,
name varchar(35) not null,
start_time datetime,
end_time datetime
);
Dies würde die end_time
Mitternacht passieren - etwas, das irgendwann nützlich sein könnte.
Außerdem würde ich empfehlen, eine Auto-inkrementierten ganze Zahl für den Primärschlüssel:
create table attendance (
userId unsigned auto_increment primary key,
name varchar(35) not null,
start_time datetime,
end_time datetime
);
Schließlich, wenn Sie ein Datum/Zeit/Datumzeit als String formatiert werden sollen, date_format()
verwenden.
haben Sie es versucht? – Burki
Was ist deine eigentliche Frage? –
create table anwesenheit (userId char (10) Primärschlüssel nicht null, Name varchar (35) nicht null, date_attendance Datum nicht null, start_time timestamp 'HH24: MI: SS', start_time timestamp 'HH24: MI: SS'); Ich möchte wissen, ob das richtig ist oder nicht? –