atwellpub atwellpub - 1 year ago 128
MySQL Question

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!

Answer Source
$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";

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download