2010-07-31 24 views

Respuesta

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

Creo que es necesario tener "Añadir columna" y utilizar "después", no "antes".

En caso de que desee colocar la columna en el comienzo de una tabla, utilice la "primera" declaración:

$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

+15

Sí, DESPUÉS o PRIMERO, NO ANTES. +1 – dwich

+0

Fantástico que lo hace. ¡Gracias! – atwellpub

+1

no hay problema en ayudar – Chris

0

Para evitar el desorden escapar aquí está el mismo código utilizando heredocs por lo que es más fácil de copiar/pegar, leer y modificar, espero que viene muy bien para algunos:

"Después de" ejemplo:

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

"primero" ejemplo:

$query = <<<EOT 
ALTER TABLE `{$table_prefix}posts_to_bookmark` 
ADD COLUMN `ping_status` INT(1) NOT NULL 
FIRST 
EOT; 
Cuestiones relacionadas