Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana cara Memperbarui Dua tabel dengan pernyataan GABUNG tunggal di server MYSQL?

Pertama ketika Anda melakukan UPDATE JOIN, Anda belum memasukkan kondisi JOIN.. sehingga akan mencoba dan melakukan produk kartesius dari setiap tabel:

#rows =  #rows_table1EN * #rows_table1ZH * ... * #rows_table1PT

Anda harus BERGABUNG di table1EN.id = table1xx.id untuk setiap tabel.

Masalah selanjutnya adalah Anda harus mereferensikan setiap kolom yang ingin Anda ubah. Ini akan mengakibatkan:

SET table1EN.detail = 'String Value',
    table1ZH.detail = 'String Value'
    ...
    table1PT.detail = 'String Value'

Ini bisa dilakukan dengan membangun pernyataan secara dinamis, tapi itu cukup mengerikan.

Ini semua membuat saya mempertanyakan struktur database Anda. Apakah Anda mempertimbangkan untuk menggunakan satu tabel dengan kolom bahasa tambahan; baik pengidentifikasi dua huruf (OK) atau kunci asing ke tabel bahasa (lebih baik)?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. GALAT #1054 - Kolom 'program_id' tidak diketahui di 'BARU

  2. tampilkan baris baru mysql dalam HTML

  3. MySQL agregat jumlah objek JSON

  4. Bagaimana Anda men-debug prosedur tersimpan MySQL?

  5. Penjadwal Acara MySQL pada waktu tertentu setiap hari