意外输出Dbdelta WordPress

时间:2015-01-23 02:38:00

标签: sql wordpress

我在这里看了很多关于这个问题的其他问题,但到目前为止还没有人能够解决我的问题。

根据dbDelta上的codex。 SQL语句必须:

  

您必须在SQL语句中将每个字段放在自己的行中。

     

PRIMARY KEY和之间必须有两个空格   主键的定义。

     

您必须使用关键字KEY而不是其同义词INDEX和您   必须包含至少一个KEY。

     

您不得在字段名称周围使用任何撇号或反引号。

     

字段类型必须全部小写。   SQL关键字(如CREATE TABLE和UPDATE)必须为大写。

我收到的错误消息是:

WordPress database error: [You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(
      id mediumint(9) NOT NULL AUTO_INCREMENT,
      name varchar(255) NOT NUL' at line 1]

但在我看来,我的SQL语句符合dbDelta的要求。 NB 变量$ table_name和$ charset_collat​​e在函数的前面定义。

$sql = "CREATE TABLE $table_name (
      id mediumint(9) NOT NULL AUTO_INCREMENT,
      name varchar(255) NOT NULL,
      statistics longblob NOT NULL,
      PRIMARY KEY  (id)
    ) $charset_collate;";

1 个答案:

答案 0 :(得分:0)

这个怎么样:

$sql = "CREATE TABLE " . $table_name. " (
      id mediumint(9) NOT NULL AUTO_INCREMENT,
      name varchar(255) NOT NULL,
      statistics longblob NOT NULL,
      PRIMARY KEY  (id)
    ) " . $charset_collate . ";";