Добавление нового столбца SQL со значением по умолчанию

Я ищу синтаксис для добавления столбца в базу данных MySQL со значением по умолчанию 0

Ссылка

Ответ 1

Попробуйте следующее:

ALTER TABLE table1 ADD COLUMN foo INT DEFAULT 0;

Из документации, к которой вы привязались:

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

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

Чтобы найти синтаксис для column_definition, найдите немного дальше по странице:

Предложения

column_definition используют тот же синтаксис для ADD и CHANGE, что и для CREATE TABLE. См. Раздел 12.1.17, "Синтаксис CREATE TABLE" .

И со связанной страницы:

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]  

Обратите внимание на слово DEFAULT.

Ответ 2

Как это?

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

Ответ 3

Просто добавьте default 0 в конец вашего оператора ALTER TABLE <table> ADD COLUMN <column> <type>

Ответ 4

пользователи таблицы (user_id int unsigned PK, имя пользователя varchar (32))

alter table users add column verified tinyint unsigned default 0

Ответ 5

Вы можете попробовать это,

ALTER TABLE table_name ADD column_name INT DEFAULT 0;

Ответ 6

Если вы научитесь использовать графический интерфейс, например SQLyog, внесите изменения с помощью программы, а затем перейдите на вкладку "История" для операторов DDL, которые внесли эти изменения.

Ответ 7

Попробуйте это:)

ALTER TABLE TABLE_NAME ADD COLUMN_NAME INT NOT NULL DEFAULT 0;