2017-03-13 1 views
1

i ont essayé requêtes suivantes pour modifier la colonne existante avec la contrainte par défaut getdatesyntaxe Mysql pour alter colonne existante à défaut

ALTER TABLE PartyTypes ALTER COLUMN CreatedDate GetDate(); 
ALTER TABLE partytypes ADD CONSTRAINT DF_Constraint DEFAULT GetDate() FOR CreatedDate; 

deux sont donnant erreur

ALTER TABLE partytypes AJOUTER CONTRAINTE DF_Constraint DEFAULT GetDate () Pour le code d'erreur CreatedDate: 1064. Vous avez une erreur dans votre syntaxe SQL; consultez le manuel qui correspond à votre version du serveur MySQL pour la bonne syntaxe à utiliser près DEFAULT GetDate() POUR CreatedDate 'à la ligne 1 0,000 sec

des mises à jour sur ce

+0

En utilisant 'workbench', faites un clic droit sur la table et sélectionnez' Alter Table'. Ensuite, en utilisant l'interface graphique, il est plus facile de définir la valeur par défaut pour la colonne souhaitée – codePG

+0

non ... je veux faire cela de la requête .... comme il sera utile pour d'autres aussi ... et quel est le problème avec SQL requête –

Répondre

1

Vous n Ne spécifiez aucune table étrangère.

Les contraintes sont seules les clés étrangères sont, pas de limitation aux valeurs de colonne. Ce que vous pouvez utiliser est un déclencheur ou de définir la valeur par défaut maintenant():

ALTER TABLE PartyTypes CHANGE COLUMN CreatedDate CreatedDate datetime NOT NULL DEFAULT NOW(); 

Assurez-vous de fournir le nom de la colonne deux fois, alors vous ne renomme pas.

Plus sur la syntaxe de ALTER TABLE peut être trouvé dans le MySQL manual.

+0

NOW() fonctionne-t-il de la même manière que GetDate() –

+0

Qu'est-ce que 'GetDate()'? N'existe pas dans MySQL – Psi

+0

ouais cela fonctionne bien dans le serveur sql –