sacar - MySQL-inserte la fecha/hora actual?
obtener fecha actual mysql (9)
A pesar de que hay muchas respuestas aceptadas, creo que de esta manera también es posible:
Crea tu tabla de ''servidores'' de la siguiente manera :
CREATE TABLE `servers`
(
id int(11) NOT NULL PRIMARY KEY auto_increment,
server_name varchar(45) NOT NULL,
online_status varchar(45) NOT NULL,
_exchange varchar(45) NOT NULL,
disk_space varchar(45) NOT NULL,
network_shares varchar(45) NOT NULL,
date_time datetime NOT NULL DEFAULT CURRENT_TIMESTAMP
);
Y su declaración INSERT debería ser :
INSERT INTO servers (server_name, online_status, _exchange, disk_space, network_shares)
VALUES(''m1'', ''ONLINE'', ''ONLINE'', ''100GB'', ''ONLINE'');
Mi entorno:
Laptop Core i3 para Windows con 4 GB de RAM, e hice el ejemplo anterior en MySQL Workbench 6.2 (Versión 6.2.5.0 Build 397 64 Bits)
¿Hay algún valor o comando como DATETIME que pueda usar en una consulta manual para insertar la fecha y la hora actuales?
INSERT INTO servers (
server_name, online_status, exchange, disk_space, network_shares
) VALUES(
''m1'', ''ONLINE'', ''ONLINE'', ''100GB'', ''ONLINE'' ''DATETIME''
)
El valor DATETIME citado al final es donde quiero agregar la fecha y la hora actuales.
En el diseño de la base de datos, recomiendo usar Unixtime para la coherencia y el rendimiento de indexación / búsqueda / comparación.
UNIX_TIMESTAMP()
Siempre se puede convertir a formatos legibles por humanos después, internacionalizándolos según sea más conveniente individualmente.
FROM_ UNIXTIME (unix_timestamp, [format ])
Puede usar NOW()
:
INSERT INTO servers (server_name, online_status, exchange, disk_space, network_shares, c_time)
VALUES(''m1'', ''ONLINE'', ''exchange'', ''disk_space'', ''network_shares'', NOW())
Puede usar no solo now()
, current_timestamp()
y localtimestamp()
. La razón principal de la indicación de fecha y hora de visualización incorrecta es insertar AHORA () con comillas simples . No funcionó para mí en MySQL Workbench debido a este IDE agregar comillas simples para funciones de mysql y no lo reconocí de una vez)
No utilice funciones con comillas simples como en MySQL Workbench. No funciona
Sí, puede usar el comando CURRENT_TIMESTAMP()
.
Vea aquí: Funciones de fecha y hora
Si haces cambiar el valor predeterminado a CURRENT_TIMESTAMP
es más effiency,
ALTER TABLE servers MODIFY COLUMN network_shares datetime NOT NULL DEFAULT CURRENT_TIMESTAMP;
Use CURRENT_TIMESTAMP () o ahora ()
Me gusta
INSERT INTO servers (server_name, online_status, exchange, disk_space,
network_shares,date_time) VALUES(''m1'',''ONLINE'',''ONLINE'',''100GB'',''ONLINE'',now() )
o
INSERT INTO servers (server_name, online_status, exchange, disk_space,
network_shares,date_time) VALUES(''m1'', ''ONLINE'', ''ONLINE'', ''100GB'', ''ONLINE''
,CURRENT_TIMESTAMP() )
Reemplace date_time con el nombre de columna que desea usar para insertar la hora.
$rs = $db->Insert(''register'',"''$fn'',''$ln'',''$email'',''$pass'',''$city'',''$mo'',''$fil''","''f_name'',''l_name='',''email'',''password'',''city'',''contact'',''image''");
INSERT INTO servers (server_name, online_status, exchange, disk_space, network_shares)
VALUES(''m1'',''ONLINE'',''exchange'',''disk_space'',''network_shares'', NOW())