Je cherche la syntaxe pour ajouter une colonne à une base de données MySQL avec une valeur par défaut de 0
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.
Comme ça?
ALTER TABLE `tablename` ADD `new_col_name` INT NOT NULL DEFAULT 0;
Ajoutez simplement default 0
à la fin de votre instruction ALTER TABLE <table> ADD COLUMN <column> <type>
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
Tu peux essayer ça,
ALTER TABLE table_name ADD column_name INT DEFAULT 0;
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`;
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;
Essayez ceci:)
ALTER TABLE TABLE_NAME ADD COLUMN_NAME INT NOT NULL DEFAULT 0;
ALTER TABLE my_table ADD COLUMN new_field TinyInt(1) DEFAULT 0;
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.