Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MySQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=21)
-   -   ¿fecha hora con mysql como timestamp? automaticamente (https://www.clubdelphi.com/foros/showthread.php?t=81600)

JXJ 29-11-2012 00:42:02

¿fecha hora con mysql como timestamp? automaticamente
 
hola..

una duda..

tengo esta tabla

Código SQL [-]
CREATE TABLE venta (
  id_venta           int(10) AUTO_INCREMENT NOT NULL,
  venta_fecha        timestamp DEFAULT CURRENT_TIMESTAMP,
  venta_id_cliente   int(10) NOT NULL DEFAULT '0',
  venta_id_sucursal  int,
  pagada             int,
  totalventa         double,
  montopagado        double,
  fechaemision       date,
  enviadorid         int,
  autorizadorid      int,
  receptorid         int,
  dia                date NOT NULL DEFAULT '0000-00-00',
  hora               time DEFAULT '00:00:00',
  /* Keys */
  PRIMARY KEY (id_venta)
) ENGINE = InnoDB;

segun yo.

el campo dia y hora. deben de ingresar la fecha y la hora del momento en que se hace la insercion del registro
igual que lo hace venta_fecha que es un campo timestamp
necesito esa redundancia. de que se ingrese fecha hora y la fecha y hora del registro
automaticamente. que lo haga mysql

no se si eso se puede hacer con mysql 4.1 que es el que tengo instalado o estoy equivocado con el
SQL que crea la tabla.

¿que hago mal?
gracias. :S


Casimiro Noteví 29-11-2012 00:57:18

Cita:

Empezado por JXJ (Mensaje 450808)
¿que hago mal?

Pues no sabemos qué haces mal porque no has dicho qué haces ;)

JXJ 29-11-2012 01:17:29

hola casimiro notevi.

crei que me habia explicado. :(

Bueno hago un insert a esa tabla

Código SQL [-]
INSERT INTO venta
 (    venta_id_cliente) 
 VALUES
  
  (  '5');

y solo el campo

venta_fecha

tiene la fecha y hora 28/11/2012 06:05:48 p.m.

pero requiero de que los campos tambien se llenen automaticamente

dia 28/11/2012
hora 06:05:48

tambien automaticamente con el insert tengan la fecha y hora del registro

olbeup 29-11-2012 08:52:31

No trabajo en MySQL pero creo que lo estas iniciando a 0

Cambia
Código SQL [-]
dia   date NOT NULL DEFAULT '0000-00-00',
hora  time DEFAULT '00:00:00',
Por
Código SQL [-]
dia   date DEFAULT Now(),
hora  time DEFAULT Now(),
O
Código SQL [-]
dia   date DEFAULT CURRENT_TIMESTAMP,
hora  time DEFAULT CURRENT_TIMESTAMP
y a la hora de insertar un registro añadirá el día y hora actual

Un saludo.

JXJ 29-11-2012 18:32:25

hola

olbeup


graicas por responder.


asi lo supuse pero no funciona me da el error

invalid default value for dia
invalid default value for hora

sospecho que es la version de mysql que uso la 4.1
no he provado en versiones 5

Casimiro Noteví 29-11-2012 18:56:42

¿Usando current_date y current_time?

AzidRain 29-11-2012 19:10:24

MySQL solo permite un campo timestamp que se inicalice o actualice con la fecha y hora actual. Puedes definir varios de este tipo pero solo uno sera el que se actualice. La única salida es crear un trigger que ponga los datos que necesitas. Pero creo que la version que usas de MySQL no lo soporta, puedes migrar a la 5.x en adelante sin mayor problema.

JXJ 29-11-2012 19:32:41

wow..

gracias

[AzidRain]


La franja horaria es GMT +2. Ahora son las 14:25:49.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi