WordPress at Your Fingertips
function is not described

maybe_create_table() WP 1.0.0

Creates a table in the database, if it doesn't already exist.

This method checks for an existing database and creates a new one if it's not already present. It doesn't rely on MySQL's "IF NOT EXISTS" statement, but chooses to query all tables first and then run the SQL statement creating the table.

No Hooks.

Return

true|false. True on success or if the table already exists. False on failure.

Usage

maybe_create_table( $table_name, $create_ddl );
$table_name(string) (required)
Database table name.
$create_ddl(string) (required)
SQL statement to create table.

Notes

  • Global. wpdb. $wpdb WordPress database abstraction object.

Changelog

Since 1.0.0 Introduced.

Code of maybe_create_table() WP 5.8.2

function maybe_create_table( $table_name, $create_ddl ) {
	global $wpdb;

	$query = $wpdb->prepare( 'SHOW TABLES LIKE %s', $wpdb->esc_like( $table_name ) );

	if ( $wpdb->get_var( $query ) === $table_name ) {
		return true;
	}

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

	// We cannot directly tell that whether this succeeded!
	if ( $wpdb->get_var( $query ) === $table_name ) {
		return true;
	}

	return false;
}