2009-06-10 6 views
1

Voici un extrait de mon PHP qui crée la table:Comment SQL mène-t-il à ON UPDATE CURRENT_TIMESTAMP?

$sql = 'CREATE TABLE '.$table.' (
       `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY , 
       `name` VARCHAR(55) NOT NULL , 
       `venue` VARCHAR(55) NOT NULL , 
       `time` TIMESTAMP NOT NULL , 
       `desc` TEXT NOT NULL 
       )'; 

Cela rend la colonne time devenir l'horodatage en cours lorsque j'ajouter ou modifier une ligne. Comment puis-je empêcher cela?

Répondre

8

C'est le comportement par défaut du type de colonne TIMESTAMP. Je recommande de le changer à une colonne DATETIME.

Vous pouvez également modifier le comportement en spécifiant explicitement comment vous souhaitez qu'il se comporte.

added TIMESTAMP DEFAULT CURRENT_TIMESTAMP 

La spécification de colonne ci-dessus n'aura pas le comportement ON UPDATE. Vous pouvez également spécifier une valeur NULL ou 0 comme valeur par défaut.

Questions connexes