php - mysql 更新表缩写

标签 php mysql

不久前,我编写了一个 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/

相关文章:

php - 使用 php 进行动态导航

php - 表单输入值文本被截断

php - MySql 数据库真的有一些限制吗?

mysql - SQL ORDER BY 路由信息

php - 如何多次运行 php 单元并连接覆盖率报告?

php - echo exec ("sudo top -n1 | awk '/30100/{打印 $9 }'");不打印任何东西

php - 在 php 中用数组更新 Mysql Row

mysql - "Fuzzier"在mysql中搜索

javascript - 使用 AJAX 和 PHP 进行 Onchange 选择

MySql:存储空单元格,这不好吗?