前段時間我寫了一個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相同,因爲正如我在開始時所說的那樣,這些不是變量,但常量和常量沒有「$」 –
您是否嘗試過回顯字符串並手動運行它? –