2016-12-28 80 views
0

我是學習mysql的新手。我有3列在mysql中更新表中的多行

- id  -price  -url 

storedata表,並有2列

-id  -price -date 

我想用luckyvitamin更新storedata價值luckyvitamin表。

我正在使用下面的查詢。請解決我的問題。
謝謝。

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; 

回答

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

我想你可以使用一個INNER JOIN查詢來實現這一點,你不需要任何的子查詢,這將使查詢本身較慢

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

你可以這樣寫:

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