Je recherche la syntaxe pour ajouter une colonne à une base de données MySQL avec une valeur par défaut de 0
Je recherche la syntaxe pour ajouter une colonne à une base de données MySQL avec une valeur par défaut de 0
Réponses:
Essaye ça:
ALTER TABLE table1 ADD COLUMN foo INT DEFAULT 0;
À partir 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
recherche un peu plus bas 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 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.
TINYINT(1)
qui sont beaucoup plus efficaces que l'utilisation INT
, gardez cela à l'esprit lorsque vous utilisez cette «bonne» réponse
Comme ça?
ALTER TABLE `tablename` ADD `new_col_name` INT NOT NULL DEFAULT 0;
tablename
ADD new_col_name
INT NOT NULL DEFAULT '1';
Vous pouvez essayer ça,
ALTER TABLE table_name ADD column_name INT DEFAULT 0;
ALTER TABLE my_table ADD COLUMN new_field TinyInt(1) DEFAULT 0;
Essaye ça :)
ALTER TABLE TABLE_NAME ADD COLUMN_NAME INT NOT NULL DEFAULT 0;
Un autre mot clé utile est FIRST et AFTER si vous souhaitez l'ajouter à un endroit spécifique de votre tableau.
ALTER TABLE `table1` ADD COLUMN `foo` AFTER `bar` INT DEFAULT 0;
bar
devrait être * après INT