maybe_create_table( string $table_name, string $create_ddl )

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


Description Description

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.


Parameters Parameters

$table_name

(string) (Required) Database table name to create.

$create_ddl

(string) (Required) SQL statement to create table.


Top ↑

Return Return

(bool) If table already exists or was created by function.


Top ↑

Source Source

File: wp-admin/includes/upgrade.php

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 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;
}

Top ↑

Changelog Changelog

Changelog
Version Description
1.0.0 Introduced.


Top ↑

User Contributed Notes User Contributed Notes

You must log in before being able to contribute a note or feedback.