1 database.inc db_add_field($table, $field, array $spec, array $keys_new = array())

Adds a new field to a table.

Parameters

string $table: Name of the table to be altered.

string $field: Name of the field to be added.

array $spec: The field specification array, as taken from a schema definition. The specification may also contain the key 'initial'; the newly-created field will be set to the value of the key in all rows. This is most useful for creating NOT NULL columns with no default value in existing tables.

array $keys_new: Optional. An array containing the specification for keys and indexes to be created on the table along with the field. The format is the same as a schema definition, but without the 'columns' element. If you are adding a 'serial' type field, you MUST specify at least one key or index in this array. See db_change_field() for more explanation why.

Return value

void:

See also

db_change_field()

Related topics

File

core/includes/database/database.inc, line 3128
Core systems for the database layer.

Code

function db_add_field($table, $field, array $spec, array $keys_new = array()) {
  Database::getConnection()->schema()->addField($table, $field, $spec, $keys_new);
}