2012-12-26 83 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。哦,对不起,我忘了! –