264 votes

Ajout d'une nouvelle colonne SQL avec une valeur par défaut

Je cherche la syntaxe pour ajouter une colonne à une base de données MySQL avec une valeur par défaut de 0.

Référence

444voto

Mark Byers Points 318575

Essayez ceci :

ALTER TABLE table1 ADD COLUMN foo INT DEFAULT 0;

D'après la documentation à laquelle vous avez fait référence :

ALTER [ONLINE | OFFLINE] [IGNORE] TABLE tbl_name
   alter_specification [, alter_specification] ...

alter_specification:
    ...
    ADD [COLUMN] (col_name column_definition,...)
    ...

Pour connaître la syntaxe de column_definition recherche un peu plus bas sur la page :

Les clauses de définition de colonne utilisent la même syntaxe pour ADD et CHANGE que pour CREATE TABLE. Voir aussi Section 12.1.17, "Syntaxe de la TABLE DE CRÉATION".

Et de la page liée :

column_definition:  
   data_type [NOT NULL | NULL] [DEFAULT default_value]
   [AUTO_INCREMENT] [UNIQUE [KEY] | [PRIMARY] KEY]  
   [COMMENT 'string']  
   [COLUMN_FORMAT {FIXED|DYNAMIC|DEFAULT}]  
   [STORAGE {DISK|MEMORY|DEFAULT}]  
   [reference_definition]  

Remarquez le mot DEFAULT.

4 votes

J'ai été particulièrement frappé par la qualité de cette réponse, à la fois concise et complète.

1 votes

Boolean et bool sont des synonymes de TINYINT(1) ce qui est beaucoup plus efficace que d'utiliser INT Gardez cela à l'esprit lorsque vous utiliserez cette réponse "correcte".

1 votes

Si vous souhaitez ajouter une colonne booléenne dont la valeur par défaut est False, vous pouvez utiliser : ALTER TABLE table1 ADD COLUMN foo boolean not null default 0 ;

42voto

Lekensteyn Points 22873

Comme ceci ?

ALTER TABLE `tablename` ADD `new_col_name` INT NOT NULL DEFAULT 0;

0 votes

Si la valeur par défaut est >0, ajouter des guillemets : ALTER TABLE tablename ADD new_col_name INT NOT NULL DEFAULT '1' ;

6voto

f00 Points 9040

Table users (user_id int unsigned PK, username varchar(32))

alter table users add column verified tinyint unsigned default 0

4voto

Eton B. Points 2286

Il suffit d'ajouter default 0 à la fin de votre ALTER TABLE <table> ADD COLUMN <column> <type> déclaration

1voto

Max Toro Points 13050

Si vous apprenez, il est utile d'utiliser une interface graphique comme SQLyog Pour ce faire, vous devez effectuer les modifications à l'aide du programme, puis consulter l'onglet Historique pour connaître les instructions DDL qui ont permis d'effectuer ces modifications.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X