2012-12-26 129 views
3

我想用php和mysql將c列的名稱更改爲novaC。我到處看似乎給同一個解決方案,但它似乎不工作:用php和MySql重命名列名

if(isset($_GET["rename"])){ 
    mysql_query("ALTER TABLE myTable 
    RENAME COLUMN c to novaC"); 
} 

如果鍵入:ALTER TABLE aaa RENAME COLUMN c to novaC直接在MySQL它給:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'COLUMN c to novaC' at line 2 
+0

什麼不起作用?任何錯誤? – j0k

+0

沒有錯誤,沒有任何變化 – Nrc

+0

然後告訴我們sql模式。順便說一句[**請不要在新代碼**中使用'mysql_ *'函數](http://bit.ly/phpmsql)。他們不再被維護[並被正式棄用](https://wiki.php.net/rfc/mysql_deprecation)。看到[**紅框**](http://j.mp/Te9zIL)?學習[*準備的語句*](http://j.mp/T9hLWi),並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli) - [這篇文章](http://j.mp/QEx8IB)將幫助你決定哪個。如果你選擇PDO,[這裏是一個很好的教程](http://j.mp/PoWehJ)。 – j0k

回答

6
if(isset($_GET["rename"])){ 
    mysql_query("ALTER TABLE myTable CHANGE c novaC varchar(9999)"); 
} 

The MySQL documentation

+3

'CHANGE'也需要你指定「column_definition」。所以這個查詢會導致一個錯誤。 –

+0

@AaronW。哦,對不起,我忘了! –