【发布时间】:2013-07-13 22:56:19
【问题描述】:
所以我想我打算将我的唱片表名称从“专辑”更改为“发行”,因为无论如何这对我来说更有意义...... 大错!查询突然停止工作......经过几个小时的研究,我意识到'release'是mySQL中的保留词,只有在使用正确的转义时才能使用。在这种情况下,转义符号是`,像这样
<?php
$sql = 'SELECT release.release_id, release.title, release.subtitle
FROM `release`
WHERE release.released_id = 567';
?>
我的问题是,这是否是在 PHP 中转义保留的 mysql 字的正确方法?有没有一种正常化的方式来解决这个问题? 谢谢
【问题讨论】:
-
嗯,你真的回答了你自己的问题。 ` 是这样做的方法。将表名括起来是一种很好的做法,尽管我个人觉得它很乱,所以简单地避免使用保留字,这很好地解决了这个问题。请记住,该名称是为了您的利益,而不是 Mysql,因为它无论如何都将“发布”视为二进制字符串。也许是词库?
-
好的,感谢您的确认..我想确定这个奇怪的角色是否是正确的方法......所以如果我想避免在任何地方使用反引号,我最好使用表上的别名,例如 SELECT rl.title FROM `release` as rl WHERE rl.release_id = 567