Maison  >  Questions et réponses  >  le corps du texte

mysql - Problème de mise à jour de la table de données associée

UPDATE a,b SET a.v_publishyear = b.v_publishyear OÙ a.v_id = b.v_e

Je souhaite mettre à jour les données du tableau A. Il devrait en fait y avoir plus de 9 000 données, mais en fait, seules 120 données peuvent être mises à jour. Comment ça se passe.
Mettez à jour le champ d'année de publication dans le tableau b avec le champ d'année de publication correspondant dans le tableau a.

Mais quand j'opère

SELECT * FROM a table, b table which a table.c field = b table.d field
Lors de cette requête, plus de 9 000 éléments de données peuvent être interrogés
Qu'est-ce qui ne va pas dans mon code de données de mise à jour ? ? Du drap de laine ?

天蓬老师天蓬老师2701 Il y a quelques jours629

répondre à tous(2)je répondrai

  • 怪我咯

    怪我咯2017-05-27 17:41:06

    UPDATE ne convient pas pour utiliser WHERE pour associer deux tables. Alors essayez de l'écrire de cette façon :

    UPDATE a LEFT JOIN b ON a.v_id = b.v_e SET a.v_publishyear = b.v_publishyear

    répondre
    0
  • 伊谢尔伦

    伊谢尔伦2017-05-27 17:41:06

    update tableA a
        set a.v_publishyeaar=(select b.v_publishyear from tableB b where b.v_e=a.v_id)

    répondre
    0
  • Annulerrépondre