前段时间我写了一个PHP脚本,并将一些MySQL表名定义为常量。现在我添加了一些更新,为了简化可读性,我想在UPDATE语句中使用表格放弃。 在SELECT语句中,我使用它们时没有像SELECT * FROM table t INNER JOIN table2 t2......
那样的问题,但是在UPDATE语句中它一直告诉我没有找到我的列名。mysql update with table abbreviations
下面的例子:
$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?
在此先感谢
不应该'TBLCUSTMANAGMNT'为'$ TBLCUSTMANAGMNT'?你如何分配它?与客户表 –
nope相同,因为正如我在开始时所说的那样,这些不是变量,但常量和常量没有“$” –
您是否尝试过回显字符串并手动运行它? –