2010-07-31 28 views

Trả lời

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

Tôi tin rằng bạn cần phải có "ADD COLUMN" và sử dụng "SAU", chứ không phải "TRƯỚC".

Trong trường hợp bạn muốn đặt cột vào đầu của một bảng, sử dụng "FIRST" tuyên bố:

$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

Yep, SAU hoặc FIRST, không TRƯỚC KHI. +1 – dwich

+0

Tuyệt vời thực hiện điều đó. Cảm ơn bạn! – atwellpub

+1

không có vấn đề gì vui lòng giúp đỡ – Chris

0

Để tránh sự lộn xộn thoát đây là đoạn code tương tự sử dụng heredocs vì vậy nó dễ dàng hơn để sao chép/dán, đọc và sửa đổi, hy vọng nó có ích cho một số:

"Sau khi" dụ:

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

Ví dụ "Đầu tiên":

$query = <<<EOT 
ALTER TABLE `{$table_prefix}posts_to_bookmark` 
ADD COLUMN `ping_status` INT(1) NOT NULL 
FIRST 
EOT; 
Các vấn đề liên quan