2017-09-17 9 views
0

にテーブルに対して不足しているオプションを削除し、ちょうどコード編集、コピー、私はWordPressでプラグインの開発に取り組んでいますphpmyadminの

global $wpdb; 
    $createSQL = " 
     CREATE TABLE `". $wpdb->prefix ."recipe_ratings` (
      `id` bigint(20) NOT NULL, 
      `recipe_id` bigint(20) NOT NULL, 
      `rating` float NOT NULL, 
      `user_ip` varchar(32) NOT NULL 
     ) ENGINE=InnoDB ". $wpdb->get_charset_collate() ."; 
     "; 

    require(ABSPATH . '/wp-admin/includes/upgrade.php'); // to include dbDelta fn which allows us to modify the wp database 
    dbDelta($createSQL); 

しかし、編集は表示されません作成したテーブルとテーブルを作成し、コピーして、他のテーブルのようなオプションを削除してください。 phpmyadminインターフェイスで何かを有効にする必要があるかもしれませんが、私はここで何をすべきか分かりません。

ませ編集、コピーは、オプションを削除します。

enter image description here

期待編集、コピー、削除するには、任意のフィールドにAUTO_INCREMENTを追加していない

enter image description here

答えて

1

はい自動増分フィールドは不要です。プライマリキーについて言及するだけでよい。

$createSQL = " 
     CREATE TABLE `". $wpdb->prefix ."recipe_ratings` (
      `id` bigint(20) NOT NULL, 
      `recipe_id` bigint(20) NOT NULL, 
      `rating` float NOT NULL, 
      `user_ip` varchar(32) NOT NULL, 
      PRIMARY KEY (id) 
     ) ENGINE=InnoDB ". $wpdb->get_charset_collate() ."; 
     "; 

    require(ABSPATH . 'wp-admin/includes/upgrade.php'); // to 
    include dbDelta fn which allows us to modify the wp database 
    dbDelta($createSQL); 

「id」をプライマリキーといいます。また、 "upgrade.php"ファイルを含める前にスラッシュ( "/")を入れる必要はありません。 "ABSPATH"は値をスラッシュで返します。

+0

はい自動増分は必要ありません。ありがとう。 –

1

オプション。 1つの列を主キーおよびauto_incrementとして作成します。

+0

ありがとうございました。私はあなたの指示に従い、列の1つを主キーとして追加しました。そしてそれは働いた。自動増分オプションは必要ありませんでした。 –

関連する問題