Setzen Sie die Standard-databasespeicher-Engine beim Erstellen von Tabellen mit Plugins?

In Bezug auf den Codex ” Erstellen von Tabellen mit Plugins ” kann ich keine Referenz zur Angabe der Tabellenspeicher- Engine während der Erstellung finden .

Berücksichtigen Sie die folgende function, um die Tabelle anfänglich zu erstellen:

public function xy_plugin_install() { global $wpdb; global $xy_db_version; $table_name = $wpdb->prefix . 'xy_foobar'; $charset_collate = $wpdb->get_charset_collate(); $sql = "CREATE TABLE $table_name ( id mediumint(9) NOT NULL AUTO_INCREMENT, email varchar(55) DEFAULT '' NOT NULL, postcode varchar(55) DEFAULT '' NOT NULL, message text NOT NULL, PRIMARY KEY (id) ) $charset_collate;"; require_once( ABSPATH . 'wp-admin/includes/upgrade.php' ); dbDelta( $sql ); add_option( 'xy_db_version', $xy_db_version ); } 

Mit den obigen Angaben ist die Tabelle standardmäßig auf MyISAM .

Als Vorzug sollte die Tabelle auf InnoDB gesetzt werden, wenn die MySQL-Version größer oder gleich 5.6 , da sie unter anderem eine Wiederherstellung nach einem Absturz in die Initialisierung der Speicher-Engine eingebaut hat.

  1. Wäre es möglich, dies explizit bei der ersten Erstellung anzugeben?
  2. Und gibt es trotzdem eine bedingte Prüfung, um festzustellen, ob MySQL ver größer oder gleich 5.6 ?

Solutions Collecting From Web of "Setzen Sie die Standard-databasespeicher-Engine beim Erstellen von Tabellen mit Plugins?"