2012-12-26 3 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 스키마를 보여줍니다. 그리고 btw [** 새 코드에서 mysql_ * 함수를 사용하지 마십시오. **] (http://bit.ly/phpmsql). 더 이상 유지 관리되지 않으며 공식적으로 사용되지 않습니다 (https://wiki.php.net/rfc/mysql_deprecation). [** 빨간색 상자 **] (http://j.mp/Te9zIL)를 참조하십시오. 대신 [* prepared statements *] (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. 미안 나는 그것을 잊었다! –