Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm thế nào để Cập nhật Hai bảng với một câu lệnh JOIN duy nhất trong máy chủ MYSQL?

Trước tiên, khi bạn thực hiện CẬP NHẬT THAM GIA, bạn chưa bao gồm bất kỳ điều kiện THAM GIA nào .. vì vậy, điều đó sẽ thử và thực hiện một sản phẩm cacte của mỗi bảng:

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

Bạn nên THAM GIA trên table1EN.id = table1xx.id cho mỗi bảng.

Vấn đề tiếp theo là bạn sẽ phải tham chiếu đến từng cột mà bạn muốn thay đổi. Điều này sẽ dẫn đến:

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

Điều này có thể được thực hiện bằng cách xây dựng động câu lệnh, nhưng điều đó khá gớm ghiếc.

Tất cả điều này khiến tôi đặt câu hỏi về cấu trúc cơ sở dữ liệu của bạn. Bạn có cân nhắc sử dụng một bảng có thêm cột ngôn ngữ không; hoặc là số nhận dạng hai chữ cái (OKish) hoặc khóa ngoại cho bảng ngôn ngữ (tốt hơn)?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Phân vùng bảng MySQL theo tháng

  2. MySQL - DATE_ADD khoảng tháng

  3. MySQL Chèn lệnh so với Cú pháp truy vấn T-SQL với các ví dụ

  4. Tính toán phần trăm từ lần truy cập gần đây trong MySQL

  5. Sự khác biệt giữa các ngày trong hai hàng liên tiếp