1
$sql = "CREATE TABLE 'my_custom_table'(
  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)
);";

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

这是我的代码。当我尝试执行它时会产生错误。但是,如果我用my_custom_table变量替换字符串,$table_name = 'my_custom_table';这可行。为什么??

4

1 回答 1

2

正确的符号是:

CREATE TABLE `my_custom_table`

单引号定义字符串。反引号转义表名。

您可能在备用版本中执行此操作:

CREATE TABLE my_custom_table

除非您的表名包含非标准字符(AZ、0-9 或 _ 之外)或者是保留字,否则不需要反引号。但是,如果您希望保持一致,则在所有情况下都可以安全地使用它们。

于 2013-09-16T16:13:15.650 回答