Campo data/hora com valor default

MySQL

24/11/2016

bom dia, existe a possibilidade de, no mysql, eu setar um campo de data/hora com valor default cujo campo não se atualize quando eu fizer um update na tabela?
ou seja, o registro default só será pego quando fizer um insert
Marilia

Marilia

Curtidas 0

Melhor post

Bruno

Bruno

24/11/2016

Da uma olhada nesse link...

http://pt.stackoverflow.com/questions/94732/como-n%C3%A3o-auto-update-na-data-no-mysql

Não sei se é o seu caso, mas eu costumo não deixar o Banco de Dados definir a Data/Hora e sim passo pelo INSERT o ''valor'' e quando vou fazer o UPDATE eu simplesmente passo os valores que eu quero permitir alterar e não coloco esse campo de Data/Hora que eu não quero q altere.

Ex.:
''INSERT into Tabela (vr1, vr2, dt1, dt2, hr) values (:vr1, :vr2, :dt1, :dt2, :hr);''

''UPDATE Tabela SET vr1=:vr1, vr2=:vr2, dt1=:dt1;''
GOSTEI 1

Mais Respostas

Jones Granatyr

Jones Granatyr

24/11/2016

Olá! É possível, basta definir o valor default na criação da tabela, mais ou menos assim

create table teste (
id int not null primary key,
data timestamp default current_timestamp
)
GOSTEI 1
Marilia

Marilia

24/11/2016

Olá! É possível, basta definir o valor default na criação da tabela, mais ou menos assim

create table teste (
id int not null primary key,
data timestamp default current_timestamp
)

ola Jones no meu banco está assim mas o problema é que toda vez que faço um update nessa tabela a data do registro alterado também é alterada mesmo se eu não defino esse campo na query

Da uma olhada nesse link...

http://pt.stackoverflow.com/questions/94732/como-n%C3%A3o-auto-update-na-data-no-mysql

Não sei se é o seu caso, mas eu costumo não deixar o Banco de Dados definir a Data/Hora e sim passo pelo INSERT o ''valor'' e quando vou fazer o UPDATE eu simplesmente passo os valores que eu quero permitir alterar e não coloco esse campo de Data/Hora que eu não quero q altere.

Ex.:
''INSERT into Tabela (vr1, vr2, dt1, dt2, hr) values (:vr1, :vr2, :dt1, :dt2, :hr);''

''UPDATE Tabela SET vr1=:vr1, vr2=:vr2, dt1=:dt1;''

oi Bruno, pensei em fazer isso mesmo em não definir campos de data com valor default no mysql pq como falei quando faço o update a data do registro alterado também é atualizada :(
GOSTEI 0
Fernando C

Fernando C

24/11/2016

tente esse comando:
ALTER TABLE TABELA
    CHANGE coluna coluna TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP

(obs: repetir o nome da coluna)
fonte:
http://stackoverflow.com/questions/3651798/remove-on-update-condition-without-drop-mysql-table
GOSTEI 1
Marilia

Marilia

24/11/2016

funcionou obrigada
GOSTEI 0
POSTAR