2012-06-13 5 views
11

Das ist mein Tisch ist:Alte Tabelle neues Feld "ON UPDATE CURRENT_TIMESTAMP" add

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 

Ich mag würde neue Spalte als time_updated mit Standardwert "ON UPDATE CURRENT_TIMESTAMP" hinzuzufügen.

Ich versuchte dies:

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

Aber ich erhalte eine Fehlermeldung. Kann mir jemand helfen?

Antwort

2

können Sie verwenden:

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

Wenn Sie ein Feld, um die megssage Tabelle möchten Sie ot hinzufügen möchten:

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

Versuchen

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

große Arbeitete für das Hinzufügen der 'ON UPDATE' zu einer bestehenden Spalte! – Brad