Mysql 更新SQL内部联接成功,但更新所有列表
当我使用select时,我有两个表katalan和dominus,它们在code_id中有关系Mysql 更新SQL内部联接成功,但更新所有列表,mysql,sql-update,Mysql,Sql Update,当我使用select时,我有两个表katalan和dominus,它们在code_id中有关系 select No_list, name, a.code_id, b.address, email from katalan a inner join dominus b on a.code_id=b.code_id where b.address='NY' order by No_list; 如下所示: No_list name a.code_id b.address email 1
select No_list, name, a.code_id, b.address, email
from katalan a inner join dominus b on a.code_id=b.code_id
where b.address='NY'
order by No_list;
如下所示:
No_list name a.code_id b.address email
1 ahmed 222 NY cccc@bcde.com
2 hasan 222 NY bbbb@bcde.com
3 david 222 NY aaaa@bcde.com
No_list name a.code_id b.address email
1 ahmed 222 LA cccc@bcde.com
2 hasan 222 NY bbbb@bcde.com
3 david 222 NY aaaa@bcde.com
code_id address
221 LA
222 NY
在我的情况下,我只想在以下情况下更新b.address
No_list='1'
这是我的疑问
UPDATE b
set b.address='LA'
from dbo.katalan as a
inner join dbo.dominus as b
on a.code_id=b.code_id
where a.No_list='1';
但当我更新后,显示如下
No_list name a.code_id b.address email
1 ahmed 222 LA cccc@bcde.com
2 hasan 222 LA bbbb@bcde.com
3 david 222 LA aaaa@bcde.com
选择时在dominus中显示我的条件表
select * from dominus where code_id='222'
我的表格在更新后显示如下,更新前地址必须为“NY”:
code_id address
222 LA
当我进行更新时,期望仅更新1个列表,如下所示:
No_list name a.code_id b.address email
1 ahmed 222 NY cccc@bcde.com
2 hasan 222 NY bbbb@bcde.com
3 david 222 NY aaaa@bcde.com
No_list name a.code_id b.address email
1 ahmed 222 LA cccc@bcde.com
2 hasan 222 NY bbbb@bcde.com
3 david 222 NY aaaa@bcde.com
code_id address
221 LA
222 NY
注:
我对这种情况下的问题做了简单的解释
在这种情况下,我只需要更新地址1个列表,没有列表=1。谢谢您的帮助。您的更新查询语法错误。不能在更新查询中使用from。MySQL中更新查询语法的基本要点:更新集Where 完整的语法和说明,请访问: 请尝试以下操作:
UPDATE dbo.katalan AS a
INNER JOIN dbo.dominus AS b ON a.code_id = b.code_id
SET b.address = 'LA'
WHERE a.No_list = '1';
当我在dominus表的code_id中添加附加值时,问题就解决了,所以当我选择
select * from dominus;
显示如下记录:
No_list name a.code_id b.address email
1 ahmed 222 NY cccc@bcde.com
2 hasan 222 NY bbbb@bcde.com
3 david 222 NY aaaa@bcde.com
No_list name a.code_id b.address email
1 ahmed 222 LA cccc@bcde.com
2 hasan 222 NY bbbb@bcde.com
3 david 222 NY aaaa@bcde.com
code_id address
221 LA
222 NY
和简单的查询更新
update katalan
set code_id ='221'
where No_list='1';
干劲十足
No_list name a.code_id b.address email
1 ahmed 221 LA cccc@bcde.com
2 hasan 222 NY bbbb@bcde.com
3 david 222 NY aaaa@bcde.com
谢谢您的帮助,但我知道我的表中的关系id似乎是错误的。我会自己回答我的问题。