Categories
mysql php

MySQL Alter Table Add Field Before or After a field already present

I have this, but it doesn’t work:

$query = "ALTER TABLE `".$table_prefix."posts_to_bookmark` 
ADD `ping_status` INT( 1 ) NOT NULL BEFORE `onlywire_status`";

I appreciate it!

$query = "ALTER TABLE `" . $table_prefix . "posts_to_bookmark` 
ADD COLUMN `ping_status` INT(1) NOT NULL
AFTER `<TABLE COLUMN BEFORE THIS COLUMN>`";

I believe you need to have ADD COLUMN and use AFTER, not BEFORE.

In case you want to place column at the beginning of a table, use the FIRST statement:

$query = "ALTER TABLE `" . $table_prefix . "posts_to_bookmark`
ADD COLUMN `ping_status` INT(1) NOT NULL
FIRST";

http://dev.mysql.com/doc/refman/5.1/en/alter-table.html