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

问题描述 投票:1回答:2

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

关于如何用PHP更改列名的任何想法?

php mysql renaming
2个回答
2
投票

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

如果你只是谈论在表上运行普通查询,并且只是想停止发生语法错误,那么你可以将你的字段和/或表名包装在反引号中 - 即`通常在与波形符相同的键上〜在数字栏上 - 并且MySQL将能够区分字段名称和保留字。


5
投票

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

select * from `read`

它告诉MySQL您指的是名称而不是关键字。

© www.soinside.com 2019 - 2024. All rights reserved.