web-dev-qa-db-fra.com

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

211
Matt Elhotiby

Essaye ça:

ALTER TABLE table1 ADD COLUMN foo INT DEFAULT 0;

De la documentation que vous avez liée à:

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

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

Pour trouver la syntaxe de column_definition, cherchez un peu plus loin dans la page:

les clauses column_definition utilisent la même syntaxe pour ADD et CHANGE que pour CREATE TABLE. Voir Section 12.1.17, "Syntaxe de CREATE TABLE".

Et à partir 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 ici.

362
Mark Byers

Comme ça?

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

Ajoutez simplement default 0 à la fin de votre instruction ALTER TABLE <table> ADD COLUMN <column> <type>

4
Eton B.

utilisateurs de la table (user_id int PK non signé, nom d'utilisateur varchar (32))

alter table users add column verified tinyint unsigned default 0
3
Jon Black

Tu peux essayer ça,

ALTER TABLE table_name ADD column_name INT DEFAULT 0;
2

Cela fonctionnera pour le type ENUM comme valeur par défaut

ALTER TABLE engagete_st.holidays add column `STATUS` ENUM('A', 'D') default 'A' AFTER `H_TYPE`;
2
vpgodara

Un autre mot-clé utile est FIRST et APTER si vous souhaitez l'ajouter à un endroit spécifique de votre tableau.

ALTER TABLE `table1` ADD COLUMN `foo` AFTER `bar` INT DEFAULT 0;
0
Roman Rabinovich

Essayez ceci:)

ALTER TABLE TABLE_NAME ADD COLUMN_NAME INT NOT NULL DEFAULT 0;
0
MAnoj Sarnaik
ALTER TABLE my_table ADD COLUMN new_field TinyInt(1) DEFAULT 0;
0
sandeep kumar

Si vous apprenez qu'il est utile d'utiliser une interface graphique telle que SQLyog , apportez les modifications à l'aide du programme, puis consultez l'onglet Historique pour les instructions DDL ayant effectué ces modifications.

0
Max Toro