Como inserir dados do tipo data e tempo?

5 respostas
bancomysqlsql
D

Criei minha table e tentei assim, mas da erro na hora de inserir, vejam a imagem do erro lá embaixo;

CREATE TABLE Ocorrencia (

id_ocorrencia int(11) NOT NULL PRIMARY KEY,

 data_hora datetime,

data_ocorrencia datetime ,

data_termino datetime,

tempo_duracao datetime

);

drop table ocorrencia;

CREATE TRIGGER trg_duracao BEFORE INSERT

ON Ocorrencia

FOR EACH ROW

SET NEW.tempo_duracao = (NEW.data_ocorrencia - data_termino);
INSERT INTO ocorrencia

(id_ocorrencia, data_ocorrencia, data_termino)

VALUES

(01,2017-05-25 08:30:05,2017-05-26 00:20:10);

5 Respostas

G

Olá Douglas.
Primeiramente você esta declarando o campo ‘id_ocorrencia’ como primary key, então ele não pode ser nulo. Porém, no insert, você não informou qual deve ser o valor de ‘id_ocorrencia’.
Em segundo lugar, o tipo datetime pode ter diferentes formas de inserção dependendo de qual banco de dados você está usando. No caso do MySQL você deve inserir um dado do tipo datetime no seguinte formato: ‘yyyy-mm-dd hh:mm:ss’, por exemplo ‘2017-05-26 22-30-00’

D

Fiz assim oh, mas ainda continua dando erro. Atualizei o post

G

Aqui funcionou sem problemas. Tenta digitar exatamente como a imagem e vê se roda.

D

Ainda não funcionou, olha…

Será que pq eu to criando a trigger antes?

G

Sim, é o trigger. Eu testei aqui e deu o mesmo erro.

Criado 25 de maio de 2017
Ultima resposta 27 de mai. de 2017
Respostas 5
Participantes 2