me_*_*ere 114 mysql sql mysql-error-1054
尝试执行此更新查询时,我不断收到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
Run Code Online (Sandbox Code Playgroud)
这可能是一些语法错误,但我尝试使用内部连接而不是其他更改,但我不断收到相同的消息:
Unknown column 'y' in 'field list'
Run Code Online (Sandbox Code Playgroud)
小智 42
在单引号内包含要传递给mysql服务器的任何字符串; 例如:
$name = "my name"
$query = " INSERT INTO mytable VALUES ( 1 , '$name') "
Run Code Online (Sandbox Code Playgroud)
请注意,尽管查询包含在双引号之间,但您必须将任何字符串括在单引号中.
小智 16
您可以检查您的引号选择(对值,字符串等使用双引号/单引号和列名称的反引号).
由于您只想更新表,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);
Run Code Online (Sandbox Code Playgroud)
只是分享我在这方面的经验。我也遇到了同样的问题。插入或更新语句是正确的。我还检查了编码。该列确实存在。然后!我发现我正在引用触发器中的列。您还应该检查触发器,看看是否有任何脚本引用您遇到问题的列。
| 归档时间: |
|
| 查看次数: |
660735 次 |
| 最近记录: |