私はこれを正しく行ったと確信していますが、私のクエリは通常のラップトップのMySQLデータベースで30分現在実行されています。 「つぶやき」の表は100万レコードに過ぎません。あるテーブルから別のテーブルにテキストを挿入
何が欲しいですか?私は、テーブルBからのテキストとテーブルAの "テキスト" 欄を記入する表 "AAA"(左)と "BBB"(右)
id_str text id_str text
------------ -------------------
13 13 foo bar baz
14 14 foobar
13 foo bar baz
17 foobaz
を考えてみましょう:
UPDATE AAA
SET `text` = (
SELECT `text` AS `text`
FROM BBB
WHERE id_str = AAA.id_str
LIMIT 1
)
ようにするにはテーブルAAAは次のようになります
id_str text
-------------------
13 foo bar baz
14 foobar
しかし、このクエリはあまりにも長く実行されています。私はその構文を誤っていましたか?
これを行う方法の1つは、値 'AST 'を選択してテーブルBに挿入する値として' text'を使用することです。 – Grigor
'AAA'は' BBB'に一致する行を含まない可能性がありますか?もしそうなら、それらの行の '' 'text''値が空であることを確認しますか? –
AAAにBBBに一致がないstr_idが含まれている可能性はありません。逆に、例に示すように、BBBは同じstr_idを持つ重複したレコードセットを含むことができます。 – Pr0no