2014-11-06 89 views
0

請幫我在我的rename_table腳本中發現語法錯誤。我想要的是添加日期到表名稱,但出現問題。 現在,這裏的代碼:無法重命名MySQL表

$date = date('d-m-Y'); 
$query = "RENAME order TO order".$date; 
if(mysql_query($ren)){ 
... 
+5

順序是你需要BACKTICK它 – 2014-11-06 11:42:36

+0

MySQL中的保留關鍵詞還有就是重命名命令的不同語法。它的'RENAME TABLE TAB_NAME TO NEW_TAB_NAME'' – 2014-11-06 11:44:54

+0

請不要使用'mysql_ *'功能。他們被正式棄用。請參閱[此問題。](http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php) – Vanitas 2014-11-06 11:45:47

回答

1

你必須使用反引號order,因爲它是一個保留關鍵字。你也在錯誤地執行查詢。

if(mysql_query($ren))   
       ^

更換$ren$query爲您查詢存儲在一個變量$query,不$ren ..

因此,與

$query = "RENAME TABLE `order` TO order".$date; 
if(mysql_query($query)) 
1

變化

$query = "RENAME order TO order".$date; 

嘗試
$query = "RENAME `order` TO `order".$date."`"; 
0

你不能用 - 號作爲表名,使用_或DMY格式06nov2014

0

試試這個

$date = date('d-m-Y'); 
$query = "RENAME `order` TO `order".$date."`"; 
if(mysql_query($ren))