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

Adds a new field to a table.

Parameters

$table: Name of the table to be altered.

$field: Name of the field to be added.

$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.

$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.

See also

db_change_field()

Related topics

File

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

Code

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