Mysql pépin Alter
-
26-10-2019 - |
Question
Hé les gars, je tentais de modifier mes tables colonne pour prendre
l'horodatage en cours sur la création, l'erreur que je reçois
est-#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '( 'inspection_number' NOT NULL default CURRENT_TIMESTAMP )' at line 1
Je suis en train d'utiliser
ALTER TABLE `reports` (
`inspection_number` DATE NOT NULL default CURRENT_DATE
);
Mais je "m ne pas voir l'erreur?
La solution
Semble la syntaxe est incorrecte. Utilisez ci-dessous:
si l'ajout d'une nouvelle colonne inspection_number
:
ALTER TABLE `reports` ADD COLUMN `inspection_number` timestamp NOT NULL default CURRENT_TIMESTAMP
si la modification de la colonne inspection_number
existant:
ALTER TABLE `reports` MODIFY COLUMN `inspection_number` timestamp NOT NULL default CURRENT_TIMESTAMP
S'il vous plaît spécifier le type de données de la colonne
Autres conseils
Vous manque un MODIFY
ALTER TABLE `reports` (
MODIFY `inspection_number` NOT NULL default CURRENT_TIMESTAMP
);
ALTER TABLE `reports`
MODIFY `inspection_number` TIMESTAMP NOT NULL default CURRENT_TIMESTAMP ;
La syntaxe que vous avez là est quand vous créez une table. Lorsque vous modifiez une table et que vous voulez définir une utilisation de valeur par défaut:
ALTER TABLE nom_table ACTUALISATION col_name col_type NOT NULL DEFAULT CURRENT_TIMESTAMP;