web-dev-qa-db-fra.com

Modifier la colonne Vs changer la colonne

Je sais, nous ne pouvons pas renommer une colonne en utilisant modify column syntax, mais peut change column syntax.

Ma question est: quelle est la principale utilisation de modify syntax?

Par exemple,

alter table tablename change col1 col1 int(10) not null

au lieu de

alter table tablename modify col1 int(10) not null



Modifié
Question remplacée

Quelle est l'utilisation principale de modify syntax?

La question ci-dessus a été remplacée par ci-dessous

Pourquoi devons-nous utiliser changer de colonne au lieu de modifier la colonne?

38
user2053420

CHANGER DE COLONNE Si vous avez déjà créé votre base de données MySQL et décidez après le nom incorrect de l'une de vos colonnes, vous n'avez pas besoin de la supprimer et de la remplacer, vous pouvez simplement la renommer à l'aide de modifier la colonne.

ALTER TABLE MyTable CHANGE COLUMN foo bar VARCHAR(32) NOT NULL FIRST;

MODIFY COLUMN Cette commande fait tout ce que CHANGE COLUMN peut, mais sans renommer la colonne. Vous pouvez utiliser la commande modify SQL si vous avez besoin de redimensionner une colonne dans MySQL. En faisant cela, vous pouvez autoriser plus ou moins de caractères qu'auparavant. Vous ne pouvez pas renommer une colonne à l'aide de modify et d'autres

ALTER TABLE MyTable MODIFY COLUMN foo VARCHAR(32) NOT NULL AFTER baz;

Remarque: ALTER TABLE est utilisé pour modifier un moyen de table pour changer le nom, la taille et la colonne de colonne. Les commandes CHANGE COLUMN et MODIFY COLUMN ne peuvent pas être utilisées sans l'aide de la commande ALTER TABLE.

58
Parvathy

J'ai trouvé une différence après plus d'une heure d'effort pour essayer de transformer une colonne non auto_increment en instruction auto_increment: alter table doctor_experience modifier la colonne id int (11) l'auto-incrémentation non signée fonctionne, mais l'énoncé: alter table doctor_experience changer la colonne idid int (11) auto_increment non signé signalera une erreur.

3
Hongwei

C'est pareil. Cela a été fait pour supporter une autre syntaxe (Oracle ALTER TABLE comme je le sais). Vous pouvez utiliser les deux.

Remarque: la syntaxe ALTER TABLE CHANGE old_col_name new_col_name Permet de renommer la colonne à l'aide d'une seule commande.

2
Devart