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.
- $create_ddl
-
(string) (Required) SQL statement to create table.
Return Return
(bool) True on success or if the table already exists. False on failure.
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, 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; }
Expand full source code Collapse full source code View on Trac
Changelog Changelog
Version | Description |
---|---|
1.0.0 | Introduced. |
User Contributed Notes User Contributed Notes
You must log in before being able to contribute a note or feedback.
Before calling this function you have to manually include ‘upgrade.php’, otherwise you will end up with white screen of death.
require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );