Добавить новый столбец в базу данных 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
Помогите, пожалуйста. Спасибо. Извините, плохой английский.