suchen

Heim  >  Fragen und Antworten  >  Hauptteil

mysql – Aktualisierungsproblem der zugehörigen Datentabelle

UPDATE a,b SET a.v_publishyear = b.v_publishyear WHERE a.v_id = b.v_e

Ich möchte die Daten in Tabelle A aktualisieren. Eigentlich sollten es mehr als 9.000 Daten sein, aber tatsächlich können nur 120 Daten aktualisiert werden. Wie läuft das?
Aktualisieren Sie das Feld „publishyear“ in Tabelle b auf das entsprechende Feld „publishyear“ in Tabelle a.

Aber wenn ich operiere

SELECT * FROM a table, b table where a table.c field = b table.d field
Während dieser Abfrage können mehr als 9.000 Daten abgefragt werden.
Was ist in meinem Aktualisierungsdatencode los? ? Wolltuch?

天蓬老师天蓬老师2772 Tage vor701

Antworte allen(2)Ich werde antworten

  • 怪我咯

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

    UPDATE不太适合用WHERE去关联两表。所以试试这种写法:

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

    Antwort
    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)

    Antwort
    0
  • StornierenAntwort