首页 > 解决方案 > sql 使用 $wpdb->prefix 创建两个表

问题描述

$tablename = $wpdb->prefix . "name";

$sql = "CREATE TABLE IF NOT EXISTS $tablename(
    time_id INT(11) NOT NULL AUTO_INCREMENT,
    job VARCHAR(120) NOT NULL,
    employee VARCHAR(100) NOT NULL,
    date_entry DATETIME NOT NULL,
    duration INT(11) NOT NULL,
    PRIMARY KEY(time_id)
);";

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

dbDelta($sql);

创建两个表:“wp_name”和“name”。如果我定义 $tablename = 'wp_name' 而不是它只会创建一个表。'{$wpdb->prefix}name' 也不会改变问题。

这里有什么问题?- 谢谢!

标签: phpmysqlsqlwordpress

解决方案


获取括号中的 rd

$sql = "CREATE TABLE IF NOT EXISTS $tablename (
    ...
);";

它们仅用于替换内部 wp 变量

更新:

你的情况不能自己创建两个表,没有办法,你有两次相同的代码。

没有前缀,第二个代码检查是否已经有一个名为的表name并且什么都不做,但是当你添加前缀时,它会尝试添加nameazt 这次不存在的 tbale,因为它是调用wp_name


推荐阅读