簡體   English   中英

PHP MySQL數據庫未創建新表

[英]PHP MySQL database not creating new table

因此,我想在數據庫中創建一個新表,但似乎無法正常工作。 這是一個wordpress插件,所以我不知道那是不是搞砸了。

if ($wpdb->get_var('SHOW TABLES LIKE "' . $wpdb->prefix . DB_PROFILE_TABLE . '"') != $wpdb->prefix . DB_PROFILE_TABLE)
        {
            $sql = 'CREATE TABLE ' . $wpdb->prefix . DB_PROFILE_TABLE . ' (
                    id BIGINT(10) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
                    fname VARCHAR(100) NOT NULL,
                    sname VARCHAR(100),
                    city VARCHAR(100),
                    country VARCHAR(100)
                    CHARSET=utf8; ';
                dbDelta($sql);
        }

php和mySql的初學者。

好像您在國家VARCHAR(100)之后缺少右括號。 您可能還需要刪除分號。

$sql = 'CREATE TABLE ' . $wpdb->prefix . DB_PROFILE_TABLE . ' (
    id BIGINT(10) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
    fname VARCHAR(100) NOT NULL,
    sname VARCHAR(100),
    city VARCHAR(100),
    country VARCHAR(100))
    CHARSET=utf8';
dbDelta($sql);

您缺少括號...

你可以這樣嘗試嗎

global $wpdb;

$charset_collate = $wpdb->get_charset_collate();

$sql = "CREATE TABLE $table_name (
  id mediumint(9) NOT NULL AUTO_INCREMENT,
  time datetime DEFAULT '0000-00-00 00:00:00' NOT NULL,
  name tinytext NOT NULL,
  text text NOT NULL,
  url varchar(55) DEFAULT '' NOT NULL,
  UNIQUE KEY id (id)
) $charset_collate;";

require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
dbDelta( $sql );

這些是使用wordpress plugin創建表格的規則

1)您必須在SQL語句中將每個字段放在自己的行上。

2)在單詞PRIMARY KEY和主鍵定義之間必須有兩個空格。

3)您必須使用關鍵字KEY而不是其同義詞INDEX,並且必須至少包含一個KEY。

4)您不得在字段名稱周圍使用任何撇號或反引號。 字段類型必須全部為小寫。

5)SQL關鍵字(例如CREATE TABLE和UPDATE)必須為大寫。

請參閱http://codex.wordpress.org/Creating_Tables_with_Plugins

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM