Estoy buscando la sintaxis para agregar una columna a una base de datos MySQL con un valor predeterminado de 0
Estoy buscando la sintaxis para agregar una columna a una base de datos MySQL con un valor predeterminado de 0
Respuestas:
Prueba esto:
ALTER TABLE table1 ADD COLUMN foo INT DEFAULT 0;
De la documentación que vinculó a:
ALTER [ONLINE | OFFLINE] [IGNORE] TABLE tbl_name
alter_specification [, alter_specification] ...
alter_specification:
...
ADD [COLUMN] (col_name column_definition,...)
...
Para encontrar la sintaxis para column_definition
buscar un poco más abajo en la página:
Las cláusulas column_definition usan la misma sintaxis para ADD y CHANGE que para CREATE TABLE. Consulte la Sección 12.1.17, "Sintaxis CREAR TABLA".
Y desde la página vinculada:
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]
Observe la palabra PREDETERMINADA allí.
TINYINT(1)
que es mucho más eficiente que usar INT
, tenga esto en cuenta al usar esta respuesta "correcta"
¿Me gusta esto?
ALTER TABLE `tablename` ADD `new_col_name` INT NOT NULL DEFAULT 0;
tablename
ADD new_col_name
INT NOT NULL DEFAULT '1';
Puedes probar esto,
ALTER TABLE table_name ADD column_name INT DEFAULT 0;
ALTER TABLE my_table ADD COLUMN new_field TinyInt(1) DEFAULT 0;
Prueba esto :)
ALTER TABLE TABLE_NAME ADD COLUMN_NAME INT NOT NULL DEFAULT 0;
Otra palabra clave útil es PRIMERO y DESPUÉS si desea agregarla en un lugar específico de su tabla.
ALTER TABLE `table1` ADD COLUMN `foo` AFTER `bar` INT DEFAULT 0;
bar
debe ser * después de INT