当前位置: 首页 > 面试题库 >

向Wordpress数据库添加新列

皇甫喜
2023-03-14
问题内容

我尝试更新我的插件。因此,我必须升级mysql_table。但是当尝试新列时,程序会获得异常。

这是我当前的表格:

$sql = "CREATE TABLE  {$table_name} (
        say_id             int(11)   not null AUTO_INCREMENT,
        customer_mail      text      not null,
        customer_name  text      not null,
        customer_messagge      text      not null,
        messagge_date_time  datetime  not null,

        PRIMARY KEY (say_id)
        )ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1";

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

现在,我向colum添加多一张桌子。我尝试更改表,一次工作,并添加一列,但又刷新一次,我收到此错误。

这是我的代码

$wpdb->query("ALTER TABLE wp_customer_say ADD say_state INT(1) NOT NULL DEFAULT 1");

这是我的错误

WordPress数据库错误:[重复的列名’say_state’] ALTER TABLE wp_customer_say添加了say_state
INT(1)NOT NULL缺省1

我看到这个错误,想尝试一下;

$query          = $wpdb->query("select * from wp_customer_say");
        $respond        = mysql_num_fields( $query );
        $column_array   = array();

        for($i = 0; $i < $respond ; $i++):
            $column_array[]     = mysql_field_name($query,$i);
        endfor;

        if( !in_array("say_state",$column_array) ):
            $wpdb->query("ALTER TABLE wp_customer_say ADD say_state INT(1) NOT NULL DEFAULT 1");
        endif;

我得到这个错误。

Warning: mysql_num_fields() expects parameter 1 to be resource, integer given in

请帮忙。谢谢你。对不起,英语不好。


问题答案:

使用此查询。我只使用mysql-standred来通过快速查询获取字段名称,这将解决您的问题:

$row = $wpdb->get_results(  "SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'wp_customer_say' AND column_name = 'say_state'"  );

if(empty($row)){
   $wpdb->query("ALTER TABLE wp_customer_say ADD say_state INT(1) NOT NULL DEFAULT 1");
}


 类似资料:
  • 我正在使用entityMenager登录,并没事。

  • 我无法在Firebase实时数据库中添加任何数据。数据库连接正常,但我无法添加任何数据。当我单击“到”按钮时,添加到数据库中的数据。 主要活动。java-代码 事件。java-代码

  • 问题内容: 我想向Firebase身份验证添加新数据,其中包含显示名称,电话号码,图像之类的数据。但是我想增加更多这样的性别,生日等等。是否可以添加新的? 问题答案: 无法将任意其他数据添加到Firebase身份验证用户配置文件。如果需要,请考虑使用Firebase Realtime数据库(或CloudFirestore)存储其他信息。 自几周前以来,您可以向Firebase身份验证用户配置文件中

  • 我想添加一个新的数据到firebase认证,它有像displayname,电话号码,图像的数据。但我想增加更多这样的性别,生日和更多。有可能添加新的吗?

  • 目前,我学习如何使用SpringBoot和访问多个数据库。在学习过程中,我遇到了向mysql表添加数据的问题。在我使用插入。。。。Value()要添加数据,当我使用get方法(SpringBoot)在网站上查找(显示)数据时,表仍然显示为null(无数据)。你们能就我的错误给我一些建议吗。 额外信息:我把mysql表放在SpringBoot的资源文件夹中。当我使用get方法(Springboot的

  • 问题内容: 我正在尝试向Kettle添加新的数据类型(几何)。我在org.pentaho.di.compatibility中添加了一个新的Value类型。我添加了ValueGeometry类,并对ValueInterface和Value进行了必要的修改。代码会编译,但是新数据类型不会显示在Select之类的插件中。我在这里想念什么?如果您能指出这些插件的源代码,我也将不胜感激。 谢谢。 问题答案: