php - 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' 也不会改变问题。
这里有什么问题?- 谢谢!
解决方案
获取括号中的 rd
$sql = "CREATE TABLE IF NOT EXISTS $tablename (
...
);";
它们仅用于替换内部 wp 变量
更新:
你的情况不能自己创建两个表,没有办法,你有两次相同的代码。
没有前缀,第二个代码检查是否已经有一个名为的表name
并且什么都不做,但是当你添加前缀时,它会尝试添加name
azt 这次不存在的 tbale,因为它是调用wp_name
推荐阅读
- android - 尝试运行颤振应用程序时,build.gradle 文件中出现错误
- python - 解码电子邮件收件箱中的 Excel 文件
- azure - 无法将托管标识添加到 Synapse 池
- bootstrap-4 - 带有下拉菜单的 Bootstrap 4 Pills Nav - 捕获点击
- javascript - Express JS 获取/不与本地主机一起工作
- javascript - 不使对象指针相同的正确方法
- xcode - MLModel 如何分析 ImagePicker?
- c - C:使用pthreads的线程同步,锁定和解锁互斥锁
- c# - AWS Lambda Dot Net Core 3.1 在使用 Aspose Cells for .Net 时抛出 gdip 异常
- mysql - 对部分字符串使用 HAVING 截断值错误的 sql 子句