Добавить новый столбец в базу данных WordPress

Я пытаюсь обновить свой плагин. Поэтому я должен обновить 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);

Теперь я добавлю еще одну таблицу. Я пытаюсь изменить таблицу, это работает один раз и добавить столбец, но еще одно обновление, я получаю эту ошибку.

Это мой код

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

И это моя ошибка

Ошибка базы данных WordPress: [повторяющееся имя столбца 'say_state'] ALTER TABLE wp_customer_say ADD 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

Помогите, пожалуйста. Спасибо. Извините, плохой английский.

Ответы на вопрос(4)

Ваш ответ на вопрос