2016-04-20 3 views
-1

Ich versuche, eine Tabelle (phpMyAdmin), indem Sie die folgende Abfrage zu erstellen:Wie schreibe ich Tabellendatumsabfrage in phpmyadmin, die standardmäßig speichern aktuelles Datum wenn Datum nicht angegeben?

CREATE TABLE login_detail(
    Id int(11) primary key auto_increment, 
    userName varchar(100) not null, 
    userPassword varchar(100) not null, 
    created_at Date DEFAULT CURRENT_DATE 
); 

aber es Fehler bei CURRENT_DATE zeigt. Kann jemand dieses Problem lösen?

Antwort

0

Es wird nicht unterstützt.

Die DEFAULT-Klausel gibt einen Standardwert für eine Spalte an. Mit einer Ausnahme muss der Standardwert eine Konstante sein. es kann keine Funktion oder ein Ausdruck sein. Dies bedeutet beispielsweise, dass Sie den Standardwert für eine Datumsspalte nicht als Wert für eine Funktion wie NOW() oder CURRENT_DATE festlegen können. Die Ausnahme ist, dass Sie CURRENT_TIMESTAMP als Standard für eine TIMESTAMP Spalte

http://dev.mysql.com/doc/refman/5.5/en/create-table.html

0

Sie gerade aktuellen Zeitstempel .below Code verwende ich getestet in phpmyadmin.it adaequat

CREATE TABLE login_detail(Id int(11) primary key auto_increment, userName  varchar(100) not null,userPassword varchar(100) not null, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP); 
0

Try angeben folgendes:

CREATE TABLE IF NOT EXISTS `login_detail` (
    `Id` int(11) NOT NULL AUTO_INCREMENT, 
    `userName` varchar(100) NOT NULL, 
    `userPassword` varchar(100) NOT NULL, 
    `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, 
    PRIMARY KEY (`Id`) 
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; 

INSERT INTO `login_detail` (`Id`, `userName`, `userPassword`) VALUES 
(1, 'aaa', 'bbb'), 
(2, 'aaa', 'bbb'); 

das Datum ein um d-oder Zeit in dem gewünschten Format verwendet DATE_FORMAT

SELECT `Id`, `userName`, `userPassword`, DATE_FORMAT(`created_at`, '%e %b %Y') AS `created_at_date`, DATE_FORMAT(`created_at`, '%H:%i:%s') AS `created_at_time` FROM `login_detail`; 

http://sqlfiddle.com/#!9/ea673/1