2014-11-06 71 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))