$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';
字符串,则可行。为什么?
答案 0 :(得分:2)
正确的表示法是:
CREATE TABLE `my_custom_table`
单引号定义字符串。反引号转义表名。
您可以在备用版本中执行此操作:
CREATE TABLE my_custom_table
除非您的表名包含非标准字符(在A-Z,0-9或_之外),或者是保留字,否则不需要反引号。但是,如果您愿意保持一致,那么在所有情况下使用它们都是安全的。