Renommer colonnes

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Renommer colonnes

Re: Renommer colonnes

par Ehplod » 12 août 2016, 10:24

(suis sous mySQL)
Merci pour cette confirmation de TOUT ré-indiquer.

En effet, un choix de conception antérieur fait qu'aujourd'hui je suis dans l'obligation d’effectuer de temps en temps ce type de modifs sur des tables spécifiques lors de transfères.
Là, pas le choix... tant qu'une v2 ne sera pas dans les tiroirs.

Re: Renommer colonnes

par @rthur » 12 août 2016, 10:13

Bonjour,

Avec MySQL tu est obligé effectivement de réindiquer les caractéristiques du champ. Avec Oracle, SQL server ou PostgreSQL, il me semble que tu peux juste donner le nom de ton nouveau champ sans caractéristique.

Toutefois, normalement tu n'as jamais besoin de changer le nom de tes champs. Si tu le fais souvent, c'est probablement que tu as une erreur de conception dans ton schéma SQL.

Renommer colonnes

par Ehplod » 12 août 2016, 09:39

Slt,

Peux t-on renommer simplement les colonnes d'une table, ou doit-on obligatoirement passer par "ALTER CHANGE" ?

Ma question parce que la méthode ALTER CHANGE n'est pas uniquement un "renommage", mais une modification complète de la structure de la colonne, ainsi, lors d'un unique changement de nom il faut spécifier le nouveau nom, mais aussi toutes les spécificité comme le type de donnée, les valeurs par défaut, les commentaires, etc... sinon tout par en sucette.

Exemple :
Table 'toto'
Colonne 'id', Colonne 'nom'

Je veux renommer 'id' en 'id_toto'.
Je dois faire cela :
ALTER TABLE 'toto' CHANGE 'id' 'id_toto' TINYINT(11) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'blabla'

Bref, changer le nom, mais bien repréciser toutes les autre info de structures.

Y a pas plus simple ?
Genre un 'table rename column' :D

Merci