301 Stimmen

Hinzufügen einer neuen SQL-Spalte mit einem Standardwert

Ich bin auf der Suche nach der Syntax zum Hinzufügen einer Spalte zu einer MySQL-Datenbank mit einem Standardwert von 0

Référence

501voto

Mark Byers Punkte 761508

Versuchen Sie dies:

ALTER TABLE table1 ADD COLUMN foo INT DEFAULT 0;

Aus der Dokumentation, die Sie verlinkt haben:

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

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

So finden Sie die Syntax für column_definition ein Stück weiter unten auf der Seite suchen:

column_definition-Klauseln verwenden für ADD und CHANGE die gleiche Syntax wie für CREATE TABLE. Siehe Abschnitt 12.1.17, "Syntax von CREATE TABLE".

Und von der verlinkten Seite:

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]  

Beachten Sie hier das Wort DEFAULT.

47voto

Lekensteyn Punkte 61376

Etwa so?

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

7voto

Jon Black Punkte 15753

Tabelle users (user_id int unsigned PK, username varchar(32))

alter table users add column verified tinyint unsigned default 0

7voto

Sandeep Sherpur Punkte 1864
ALTER TABLE my_table ADD COLUMN new_field TinyInt(1) DEFAULT 0;

5voto

Eton B. Punkte 5803

Einfach hinzufügen default 0 am Ende Ihrer ALTER TABLE <table> ADD COLUMN <column> <type> Anweisung

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X