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

发布于 2024-11-30 03:29:09 字数 204 浏览 1 评论 0原文

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

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

I have a column named "read" in my table.
When I try to perform operations on it, PHP tells me there's an error surround 'read'. From previous experience with this kind of errors, I have determined that the column name 'read' is illegal.
The problem is that I can't rename the column with PHP. Every time I try, I get an error (the same error, actually).
When I go in PHPMyAdmin, and change it there, it works perfectly afterwards.

Any ideas on how I can change the column name with PHP?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

葬心 2024-12-07 03:29:09

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

select * from `read`

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

Use backticks around the table name, like this:

select * from `read`

It tells MySQL that you are referring to a name and not a keyword.

说不完的你爱 2024-12-07 03:29:09

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

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

When you say "rename", do you mean you're trying to modify the table definition itself, like with ALTER TABLE? If so, there shouldn't be a difference between your PHP code and PHPMyAdmin (since the latter is itself just PHP code). The only problem you could run into is if you're logging in as a different database user in your PHP code than you are in PHPMyAdmin. You need to make sure the user has ALTER privileges on that table.

If you're only talking about running normal queries on the table, and just want to stop the syntax error from occurring, then you can just wrap your field and/or table names in backticks - i.e. ` usually on the same key as the tilde ~ on the number bar - and MySQL will be able to distinguish between the field name and the reserved word.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文