不久前,我编写了一个 PHP 脚本,并将一些 MySQL 表名定义为常量。现在我添加了一些更新,为了简化可读性,我想在 UPDATE 语句中使用表缩写。
在 SELECT 语句中,我使用它们没有出现类似 SELECT * FROM table t INNER JOIN table2 t2......
的问题,但在 UPDATE 语句中它一直告诉我找不到我的列名.
这里是一个例子:
$sql = $connection->prepare("UPDATE `" . TBLCUSTMANAGMNT . "` m
INNER JOIN `" . TBLCUSTOMERS . "` c ON (c.id = m.customerID)
SET `c.name` = :cName, `m.posOrder` = :posOrder, `m.posDeliver` = :posDeliver, `m.transactionFirst` = :transactionFirst, `m.transactionLast` = :transactionLast,
`m.transactionCount` = :transactionCount, `m.posCount` = :posCount, `m.posParticipation` = :posParticipation, `m.active` = :active
WHERE c.id = :id AND c.guid = :guid");
执行后,我收到一条错误消息,告诉我找不到列 c.name。
我是否必须明确编写完整的表名称,如下所示:tableName.columnName?
提前致谢
最佳答案
使用反引号时,您需要执行以下操作
`c`.`name`
而不是
`c.name`
关于php - mysql 更新表缩写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36767637/