0

多くのコード (stackoverflow の一部) を試しましたが、どれも機能しません。

私のmysqlデータベースの構造は次のとおりです。

table hesk_tickets : id, name, email

table hesk_callers : empnum, email, dept

namehesk_ticketsは従業員番号を参照しますempnumhesk_callers

最初は他の従業員情報はありませんhesk_ticketsname. 従業員情報を追加して、コールバックを簡単にしたいと考えています。

次に、従業員情報を含む xls ファイルを という名前の新しいテーブルにインポートしますhesk_calleshesk_ticketsの従業員番号に一致する行の電子メールなどの列を更新したいと考えていますhesk_callers

私はこれを試しました:

UPDATE hesk_tickets t1, hesk_callers t2
SET t1.email = t2.email
WHERE t1.name = t2.empnum;

も試した

UPDATE hesk_tickets ht
JOIN hesk_callers hc ON ht.name = hc.empnum
SET ht.email = hc.email

0 行が影響を受けました。

hesk_tickets には 6000 レコード、hesk_callers には 1000 レコードがあります。

どんな解決策でも感謝します、thx。

4

1 に答える 1

1

実行してみる

select count(*) from hesk_tickets ht join hesk_callers hc on ht.name = hc.empum

更新する一致するデータが実際にあることを確認します。おそらく、クエリがゼロを返すことがわかります。0 より大きい数値が返される場合は、UPDATE クエリが影響する行が 0 行であることを意味します。これは、電子メール アドレスが既に一致している (したがって、更新する必要がない) ためです。

于 2012-09-17T10:23:38.920 に答える