2017-03-19 5 views
0

MYSQL VERSION zu verändern.MYSQL Abfrage Timestamp-Spalte

// TO ALLOW NULL AND SET CURRENT_TIMESTAMP AS DEFAULT: 
ALTER TABLE `business` MODIFY `created` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP; 
// TO ALLOW NULL AND SET CURRENT_TIMESTAMP AS DEFAULT AND ON UPDATE: 
ALTER TABLE `business` MODIFY `modified` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP; 

Wenn Sie:

Ich habe versucht, den Zeitstempel coulmn in mysql mit der folgenden Abfrage zu ändern: Das sollte funktionieren #1067 - Invalid default value for 'modified'

+0

Entfernen Sie 'NOT NULL' vom Ende jeder Zeile, die Sie null setzen möchten – Mojtaba

+0

Wenn Sie versuchen,' NOT NULL DEFAULT 'CURRENT_TIMESTAMP' '? http://StackOverflow.com/a/15012579/1363190 –

+0

Ich führe die erste Abfrage aus, die 'not null' entfernt. immer noch den gleichen Fehler. – Joshi

Antwort

0

ALTER TABLE `business` MODIFY `created` TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; 
ALTER TABLE `business` MODIFY `modified` TIMESTAMP on update CURRENT_TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; 

Aber ich erhalte den Fehler will nicht zulassen, null dann nur entfernen Sie die NULL:

// DO NOT ALLOW NULL, SET CURRENT_TIMESTAMP AS DEFAULT: 
ALTER TABLE `business` MODIFY `created` TIMESTAMP DEFAULT CURRENT_TIMESTAMP; 
// DO NOT ALLOW NULL, SET CURRENT_TIMESTAMP AS DEFAULT AND ON UPDATE: 
ALTER TABLE `business` MODIFY `modified` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;