我不断收到MySQL错误#1054,试图执行此更新查询时:
UPDATE MASTER_USER_PROFILE, TRAN_USER_BRANCH
SET MASTER_USER_PROFILE.fellow=`y`
WHERE MASTER_USER_PROFILE.USER_ID = TRAN_USER_BRANCH.USER_ID
AND TRAN_USER_BRANCH.BRANCH_ID = 17
这也可能是一些语法错误,但我一直在使用内部连接,而不是和其他的改变试过,但我不断收到了同样的信息:
Unknown column 'y' in 'field list'
尝试使用“Y”不同引号作为标识符引号字符是倒引号(“`”)。 否则,MySQL的“认为”,你指向一个名为“Y”栏。
另请参见MySQL的5文档
括要传递给单引号里面的MySQL服务器的任何字符串; 例如:
$name = "my name"
$query = " INSERT INTO mytable VALUES ( 1 , '$name') "
注意,虽然查询双引号引起来,你必须用单引号的字符串。
你可能会检查你的报价选择(使用双/单引号值,字符串等,并为反引号列名)。
由于您只想更新表master_user_profile
我建议嵌套查询:
UPDATE
master_user_profile
SET
master_user_profile.fellow = 'y'
WHERE
master_user_profile.user_id IN (
SELECT tran_user_branch.user_id
FROM tran_user_branch WHERE tran_user_branch.branch_id = 17);
对我来说,它是由在列名的末尾一个看不见的尾随空格引起的。 只是检查,如果你真的用“Y”或“y”代替。
虽然在.net应用程序的工作建立与EF代码首先,我想申请我的移民在那里我有一个当此错误消息Sql("UPDATE tableName SET columnName = value");
声明。
原来我拼错COLUMNNAME。
像THI查询也将导致错误
select table1.id from table2
在表格中列选择指定,不包括在从子句。
我也得到了同样的错误,在我的情况的问题是我包含在列名GROUP BY
子句和它造成此错误。 所以从删除的列GROUP BY
子句和它的工作!