使用dbDelta创建wordpress数据库

使用wordpress难免会需要自定义创建一些数据表或者在原有的数据表上增加字段,以便我们灵活面对业务上的需求。

dbDelta(string [] | string  $ queries  =  '', bool  $ execute  =  true

使用说明

根据指定的SQL语句修改数据库。
对于创建新表以及将现有表更新为新结构很有用。

注意

注意:如果更改字段名称,将创建一个具有新名称的空列,但不会删除旧列!
注意,您不能将FOREIGN KEY约束与dbDelta一起使用:https 😕/core.trac.wordpress.org/ticket/19207
注意,不要在字段或键上添加注释;preg_match代码无法处理。以下代码是错误的(感谢Store Locator Plus的代码)。

示例

使用索引创建表时,在SQL命令结构中必须非常小心。

这是一个正确的表创建表语法的简单示例,该表的主键位于“ id”字段,辅助键位于“ first”字段。

必须在PRIMARY KEY后跟两个空格,然后是开放括号​​,然后是字段名称和结束括号。

KEY后必须跟一个空格,然后是键名,然后是空格,然后是带有字段名的开括号,然后是一个封闭的括号。

private function index_test_001() {
     global $wpdb;
     $table_name = $wpdb->prefix . 'dbdelta_test_001';
     $wpdb_collate = $wpdb->collate;
     $sql =
         "CREATE TABLE {$table_name} (
         id mediumint(8) unsigned NOT NULL auto_increment ,
         first varchar(255) NULL,
         PRIMARY KEY  (id),
         KEY first (first)
         )
         COLLATE {$wpdb_collate}";
 
     require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
     dbDelta( $sql );
 }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值