Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP for mySQL重命名非法列名_Php_Mysql_Renaming - Fatal编程技术网

使用PHP for mySQL重命名非法列名

使用PHP for mySQL重命名非法列名,php,mysql,renaming,Php,Mysql,Renaming,我的表中有一个名为“read”的列。 当我尝试对它执行操作时,PHP告诉我“read”周围有一个错误。根据以前处理此类错误的经验,我确定列名“read”是非法的。 问题是我不能用PHP重命名该列。每次我尝试,我都会得到一个错误(实际上是同一个错误)。 当我进入PHPMyAdmin并在那里更改它时,它会在之后完美地工作 关于如何使用PHP更改列名,有什么想法吗?在表名周围使用反勾号,如下所示: select * from `read` 它告诉MySQL您引用的是一个名称而不是一个关键字。在表名周

我的表中有一个名为“read”的列。 当我尝试对它执行操作时,PHP告诉我“read”周围有一个错误。根据以前处理此类错误的经验,我确定列名“read”是非法的。 问题是我不能用PHP重命名该列。每次我尝试,我都会得到一个错误(实际上是同一个错误)。 当我进入PHPMyAdmin并在那里更改它时,它会在之后完美地工作


关于如何使用PHP更改列名,有什么想法吗?

在表名周围使用反勾号,如下所示:

select * from `read`

它告诉MySQL您引用的是一个名称而不是一个关键字。

在表名周围使用反勾号,如下所示:

select * from `read`
它告诉MySQL您指的是一个名称,而不是一个关键字。

当您说“重命名”时,您的意思是您试图修改表定义本身,就像使用
ALTER table
?如果是这样,那么PHP代码和PHPMyAdmin之间应该没有区别(因为后者本身就是PHP代码)。您可能遇到的唯一问题是,您在PHP代码中以不同于PHPMyAdmin的数据库用户身份登录。您需要确保该用户在该表上具有

如果您只想在表上运行普通查询,并且只想阻止语法错误的发生,然后,您可以将字段和/或表名用反勾号包装起来,即“通常与数字栏上的波浪号在同一个键上”,MySQL将能够区分字段名和保留字。

当您说“重命名”时,您的意思是您正试图修改表定义本身,如使用
ALTER table
?如果是这样,那么PHP代码和PHPMyAdmin之间应该没有区别(因为后者本身就是PHP代码)。您可能遇到的唯一问题是,您在PHP代码中以不同于PHPMyAdmin的数据库用户身份登录。您需要确保该用户在该表上具有


如果您只想在表上运行普通查询,并且只想阻止语法错误的发生,然后,您可以将字段和/或表名用反勾号括起来,即“通常与数字栏上的波浪号在同一个键上”,MySQL将能够区分字段名和保留字。

在发布问题之前,我试过这样做,但没有成功=(@user866339)如果这不起作用,那么你为什么接受我的答案?我可以向你保证回帖是有效的,但是如果你想发布你的代码作为对你的问题的编辑,我很乐意再看一看你的代码。从你对Dani答案的评论来看,你似乎使用了错误的引用。你需要使用回帖,而不是一个回帖引用。很难在评论中使用反勾号,因为SO使用它们来表示代码块。这个wiki页面可以告诉你什么是反勾号:我在发布问题之前尝试过,但没有成功=(@user866339)如果这不起作用,那么你为什么接受我的答案?我可以向你保证回帖是有效的,但是如果你想发布你的代码作为对你的问题的编辑,我很乐意再看一看你的代码。从你对Dani答案的评论来看,你似乎使用了错误的引用。你需要使用回帖,而不是一个回帖引号。在注释中使用反勾号很困难,因为SO使用它们来表示代码块。这个wiki页面可以告诉您反勾号是什么:@user866339 No。这些是单引号。您需要使用反勾号。我给您留下了更多信息,作为对您对我的答案的评论的回应。@user866339 No。这些是单引号。您需要使用反勾号s、 我给你留下了更多的信息,作为对你对我的回答的回应。