maybe_add_column( string $table_name, string $column_name, string $create_ddl )

Adds column to a database table if it doesn’t already exist.


Parameters

$table_name

(string) (Required) The table name to modify.

$column_name

(string) (Required) The column name to add to the table.

$create_ddl

(string) (Required) The SQL statement used to add the column.


Return

(bool) True if already exists or on successful completion, false on error.


Source

File: wp-admin/includes/upgrade.php

function maybe_add_column($table_name, $column_name, $create_ddl) {
	global $wpdb;
	foreach ($wpdb->get_col("DESC $table_name", 0) as $column ) {
		if ($column == $column_name) {
			return true;
		}
	}

	// Didn't find it try to create it.
	$wpdb->query($create_ddl);

	// We cannot directly tell that whether this succeeded!
	foreach ($wpdb->get_col("DESC $table_name", 0) as $column ) {
		if ($column == $column_name) {
			return true;
		}
	}
	return false;
}


Changelog

Changelog
Version Description
WP-1.3.0 Introduced.