2012-06-13 15 views
11

To jest mój tabeli:alter table dodać nowe pole "ON UPDATE CURRENT_TIMESTAMP"

CREATE TABLE `megssage`(
    `id` int(11) NOT NULL AUTO_INCREMENT, 
    `name` varchar(256) DEFAULT NULL, 
    `time_create` datetime DEFAULT NULL, 
    PRIMARY KEY (`id`) 
) ENGINE=MyISAM DEFAULT CHARSET=latin1 

Chciałbym dodać nową kolumnę jako time_updated z domyślnej wartości "ON UPDATE CURRENT_TIMESTAMP".

Próbowałem to:

ALTER TABLE `megssage` 
    CHANGE `time_updated` `time_updated` TIMESTAMP NULL DEFAULT ON UPDATE CURRENT_TIMESTAMP 

Ale ja dostaję błąd. Czy ktoś może mi pomóc?

Odpowiedz

2

Można użyć:

ALTER TABLE `megssage` ADD `TIME_UPDATED` TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL AFTER `time_create` 
16

Jeśli chcesz dodać pole ot stół megssage chcesz:

ALTER TABLE megssage ADD time_updated TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP; 
6

Spróbuj

ALTER TABLE `megssage` 
    CHANGE COLUMN `time_updated` `time_updated` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ; 
+2

Pracował wielki dla dodanie 'ON UPDATE' do istniejącej kolumny! – Brad

Powiązane problemy