Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql语法帮助_Mysql - Fatal编程技术网

Mysql语法帮助

Mysql语法帮助,mysql,Mysql,嗨,我是mysql的新手,我做了如下声明 UPDATE parent, chill SET parent.iod=chill.iod WHERE parent.id=chill.id 我想做的是将所有iod从chill复制到应该匹配id的父级 但结果是,所有更新的iod都被设置为11,而不是chill中的iod iod的类型为 BIGINT 语法上有错误吗,或者我做错了什么 感谢您的帮助,不需要太多解释。: 前面的示例显示了使用逗号运算符的内部联接,但多个表更新语句可以使用SELECT语

嗨,我是mysql的新手,我做了如下声明

UPDATE parent, chill SET parent.iod=chill.iod WHERE  parent.id=chill.id
我想做的是将所有iod从chill复制到应该匹配id的父级

但结果是,所有更新的iod都被设置为11,而不是chill中的iod

iod的类型为

BIGINT 
语法上有错误吗,或者我做错了什么

感谢您的帮助,不需要太多解释。

前面的示例显示了使用逗号运算符的内部联接,但多个表更新语句可以使用SELECT语句中允许的任何类型的联接,例如LEFT join

尽管您的示例也应该适用,但请尝试以下操作:

UPDATE parent
INNER JOIN chill
ON parent.id = chill.id
SET parent.iod = chill.iod

为什么是内部连接?我没有正确理解这个问题。@ThinkCode:他只想要具有匹配ID的行→ 这有什么不同吗?更新parent,chill SET parent.iod=chill.iod,其中parent.id=chill.id@ThinkCode:不应该,这就是我在回答中提到的原因»尽管你的例子也应该有效«嘿,非常感谢..实际上这是我的错误,我将它声明为bigint,而不是需要声明为varchar。:SELECT DISTINCT iod FROM chill的输出是什么;?