2011-08-16 14 views
0

こんにちは、私は、MySQLに新しいですし、私は次の文MySQLの構文ヘルプ

私は何をしたいことは、IDが一致しなければならない親に寒さからすべてのIOD年代をコピーである
UPDATE parent, chill SET parent.iod=chill.iod WHERE parent.id=chill.id 

を行っています。

しかし結果として、更新されたすべての沃素は、凍ったヨードではなく、11に設定されています。

IODのは

BIGINT 

私が間違っているの構文か何かで蟻間違いがあります型でありますか?

少しのご説明に感謝します。

+0

'寒さは異なるIODをSELECTの出力何;'? – knittl

答えて

0

mysql update syntax for join tables

前述の例では、内側がそのカンマ演算子を使用するが、複数のテーブルのUPDATEステートメントは、LEFTとしてSELECT文、結合に許容結合の任意のタイプを使用することができ参加示します。

(あなたの例では、同様に動作するはずですが)次のことを試してください。

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

なぜ内部結合ですか?私は質問を正しく理解していませんでした。 – ThinkCode

+0

@ThinkCode:IDが一致する行のみが必要です→「INNER JOIN」 – knittl

+0

これは違いますか? UPDATE親、chill SET parent.iod = chill.iod WHERE parent.id = chill.id; – ThinkCode