在mysql中更新表中的多行

时间:2016-12-28 10:41:04

标签: mysql

我是学习mysql的新手。我有3个列的存储数据表

 - id     -price     -url

和幸运维生素表有2列

-id       -price   -date

我想使用luckyvitamin更新storedata价格值。

我正在使用以下查询。请解决我的问题       三江源。

update storedata s, luckyvitamin l 
set s.cost = (
    select l1.otcdeal_price 
    from store_data st,luckyvitamin lu  
    where st.id=lu.id
) 
where s.id=l.id;

3 个答案:

答案 0 :(得分:2)

我认为您可以使用INNER JOIN查询来实现此目的,您不需要任何会使查询本身变慢的子查询

UPDATE storedata s
INNER JOIN luckyvitamin l
ON s.id = l.id
SET s.cost = l.otcdeal_pric

答案 1 :(得分:0)

您可以这样写:

update storedata s inner join luckyvitamin l on s.id=l.id
set s.cost= l.otcdeal_price;

答案 2 :(得分:0)

UPDATE storedata s
INNER JOIN luckyvitamin l
ON s.id = l.id 
SET s.price = l.price