У меня это есть, но это не работает:
$query = "ALTER TABLE `".$table_prefix."posts_to_bookmark` ADD `ping_status` INT( 1 ) NOT NULL BEFORE `onlywire_status`";
Я ценю это!
$query = "ALTER TABLE `".$table_prefix."posts_to_bookmark` ADD COLUMN `ping_status` INT(1) NOT NULL AFTER `<TABLE COLUMN BEFORE THIS COLUMN>`";
Я считаю, что вам нужно «ДОБАВИТЬ КОЛОННУЮ» и использовать «ПОСЛЕ», а не «ПЕРЕД».
Если вы хотите разместить столбец в начале таблицы, используйте инструкцию «FIRST»:
$query = "ALTER TABLE `".$table_prefix."posts_to_bookmark` ADD COLUMN `ping_status` INT(1) NOT NULL FIRST";
Чтобы избежать утечки, здесь используется один и тот же код с использованием heredocs, поэтому его легче копировать / вставлять, читать и изменять, надеясь, что это будет полезно для некоторых:
Пример «После»:
$query = <<<EOT ALTER TABLE `{$table_prefix}posts_to_bookmark` ADD COLUMN `ping_status` INT(1) NOT NULL AFTER `<TABLE COLUMN BEFORE THIS COLUMN>`; EOT;
Пример «Первый»:
$query = <<<EOT ALTER TABLE `{$table_prefix}posts_to_bookmark` ADD COLUMN `ping_status` INT(1) NOT NULL FIRST EOT;