我有一个主表和一个索引表.两个表共享一个名为"L_Status"的公共主要字段.我想基于名为"status"的索引表中的引用将主表中的数据从"L_Status"值(整数)更新为"L_StatusLV"(可读文本值).这是我在PHPmyAdmin中输入的代码来完成此任务:
UPDATE markers.L_Status
FROM markers
INNER JOIN STATUS ON markers.L_Status = status.L_Status
WHERE markers.L_Status = status.L_StatusLV
Run Code Online (Sandbox Code Playgroud)
PHPmyAdmin返回以下错误:
1064 - 您的SQL语法出错; 检查与您的MySQL服务器版本对应的手册,以便在第2行使用'FROM markers INNER JOIN STATUS ON markers.L_Status = status.L_Status WHERE ma'附近使用正确的语法
有关sytax错误的任何建议吗?
MySQL的UPDATE JOIN语法不同于SQL Server(看起来像你的):
UPDATE
/* First join the tables */
markers
INNER JOIN status ON markers.L_Status = status.L_Status
/* Then specify the new value in the SET clause */
SET markers.L_Status = status.L_StatusLV
Run Code Online (Sandbox Code Playgroud)
但是,如上所述,当前值是整数.如果列markers.L_Status是一INT列而不是CHAR/VARCHAR我认为人类可读的列,那么这将不起作用.
访问MySQL的UPDATE语法参考以获取完整的语法细节.特别是table_references.
| 归档时间: |
|
| 查看次数: |
3515 次 |
| 最近记录: |