Hướng dẫn mysql bulk update multiple rows - cập nhật hàng loạt mysql nhiều hàng
Bạn có một sinh viên bảng với Show
Và đây là bảng dữ liệu mới mà bạn muốn cập nhật lên:
Và đây là bảng dữ liệu mới mà bạn muốn cập nhật lên: Có một vài cách để làm điều đó.
1. Bạn có thể viết nhiều truy vấn cập nhật như thế này và chạy tất cả chúng cùng một lúc:
2. Hoặc bạn có thể cập nhật với câu lệnh tham gia:
3. Hoặc bạn có thể sử dụng 0Cần một công cụ GUI tốt cho MySQL? TablePlus là một công cụ hiện đại, gốc với giao diện người dùng thanh lịch, cho phép bạn quản lý đồng thời nhiều cơ sở dữ liệu như MySQL, PostgreSQL, SQLite, Microsoft SQL Server, và hơn thế nữa.. It’s free anyway! Tải xuống TablePlus cho Mac. Dù sao thì nó cũng miễn phí! Download TablePlus for Windows. Không phải trên Mac? Tải xuống bảng cho Windows. Download TablePlus for Linux Trên Linux? Tải xuống bảng cho Linux Download TablePlus for iOS. 200 Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm. Tôi đang cố gắng hiểu cách cập nhật nhiều hàng với các giá trị khác nhau và tôi không nhận được nó. Giải pháp ở khắp mọi nơi nhưng với tôi nó có vẻ khó hiểu. Chẳng hạn, ba bản cập nhật thành 1 truy vấn:
Tôi đọc một ví dụ, nhưng tôi thực sự không hiểu làm thế nào để thực hiện truy vấn. I E:
Tôi không hoàn toàn rõ ràng làm thế nào để thực hiện truy vấn nếu có nhiều điều kiện trong điều kiện ở đâu và trong điều kiện..có ý tưởng?
Siêu bão 4.7465 Huy hiệu vàng20 Huy hiệu bạc32 Huy hiệu Đồng5 gold badges20 silver badges32 bronze badges Hỏi ngày 4 tháng 9 năm 2014 lúc 20:48Sep 4, 2014 at 20:48
fran.sand66fran.sand66fran.sand66 10.2K19 Huy hiệu vàng57 Huy hiệu bạc100 Huy hiệu Đồng19 gold badges57 silver badges100 bronze badges 1
Bạn có thể làm theo cách này:
Tôi không hiểu định dạng ngày của bạn. Ngày nên được lưu trữ trong cơ sở dữ liệu bằng cách sử dụng các loại ngày và thời gian bản địa. Đã trả lời ngày 4 tháng 9 năm 2014 lúc 20:53Sep 4, 2014 at 20:53
Gordon Linoffgordon LinoffGordon Linoff 1.2M53 Huy hiệu vàng599 Huy hiệu bạc743 Huy hiệu Đồng53 gold badges599 silver badges743 bronze badges 15 MySQL cho phép một cách dễ đọc hơn để kết hợp nhiều bản cập nhật vào một truy vấn duy nhất. Điều này dường như phù hợp hơn với kịch bản mà bạn mô tả, dễ đọc hơn nhiều và tránh những điều kiện khó khăn trong nhiều điều kiện.
Điều này giả định rằng sự kết hợp 1 là khóa chính. Nếu chỉ một trong số này là khóa chính, thì hãy thêm trường khác vào danh sách cập nhật. Nếu cả hai đều không phải là khóa chính (dường như không thể) thì cách tiếp cận này sẽ luôn tạo ra các bản ghi mới - có lẽ không phải là điều mong muốn.Tuy nhiên, cách tiếp cận này làm cho các tuyên bố chuẩn bị dễ dàng hơn để xây dựng và súc tích hơn.
John Huy hiệu vàng 12K1190 Huy hiệu bạc157 Huy hiệu đồng11 gold badges90 silver badges157 bronze badges Đã trả lời ngày 19 tháng 1 năm 2016 lúc 0:13Jan 19, 2016 at 0:13
18 Bạn có thể sử dụng câu lệnh 2 để xử lý nhiều kịch bản nếu/sau đó:
Đã trả lời ngày 4 tháng 9 năm 2014 lúc 20:54Sep 4, 2014 at 20:54
Hart Cohart đồngHart CO 33,4K5 Huy hiệu vàng45 Huy hiệu bạc60 Huy hiệu Đồng5 gold badges45 silver badges60 bronze badges 1
Saghachi 7179 Huy hiệu bạc16 Huy hiệu đồng9 silver badges16 bronze badges Đã trả lời ngày 11 tháng 12 năm 2016 lúc 7:43Dec 11, 2016 at 7:43
Akshay Bhanakshay BhanAkshay Bhan 1952 Huy hiệu bạc12 Huy hiệu đồng2 silver badges12 bronze badges Để mở rộng câu trả lời @trevedhek, Trong trường hợp bản cập nhật phải được thực hiện với các khóa không duy nhất, sẽ cần 4 truy vấn Lưu ý: Đây không an toàn giao dịch Điều này có thể được thực hiện bằng cách sử dụng một bảng tạm thời. Bước 1: Tạo các phím bảng tạm thời và các cột bạn muốn cập nhật
Bước 2: Chèn các giá trị vào bảng temp Bước 3: Cập nhật bảng ban đầu 0Bước 4: Thả bảng nhiệt độ Đã trả lời ngày 30 tháng 3 năm 2020 lúc 11:45Mar 30, 2020 at 11:45
SabsabSab 4705 Huy hiệu bạc16 Huy hiệu Đồng5 silver badges16 bronze badges Trong PHP, bạn sử dụng phương pháp 3 của ví dụ MySQLI. 1So sánh kết quả với giao dịch, chèn, phương thức trường hợp trong bản cập nhật 30.000 RAW. Giao dịch: 5.5194580554962 Chèn: 0,20669293403625 Trường hợp: 16.474853992462 MULTI: 0.0412278175354 Như bạn có thể thấy, nhiều câu truy vấn tuyên bố hiệu quả hơn câu trả lời cao nhất. Chỉ trong trường hợp nếu bạn nhận được thông báo lỗi như thế này: 2Bạn có thể cần tăng 4 trong tệp cấu hình MySQL.Đã trả lời ngày 19 tháng 12 năm 2021 lúc 7:50Dec 19, 2021 at 7:50
SaghachisaghachiSaghachi 7179 Huy hiệu bạc16 Huy hiệu đồng9 silver badges16 bronze badges 1 3 Đã trả lời ngày 11 tháng 12 năm 2016 lúc 7:43
Akshay Bhanakshay BhanApr 23, 2020 at 4:25
1952 Huy hiệu bạc12 Huy hiệu đồngankit giri Để mở rộng câu trả lời @trevedhek,3 silver badges9 bronze badges Trong trường hợp bản cập nhật phải được thực hiện với các khóa không duy nhất, sẽ cần 4 truy vấn 4Lưu ý: Đây không an toàn giao dịch 5Điều này có thể được thực hiện bằng cách sử dụng một bảng tạm thời. Bước 1: Tạo các phím bảng tạm thời và các cột bạn muốn cập nhậtApr 16, 2020 at 13:30
ru51anru51anru51an Bước 2: Chèn các giá trị vào bảng temp1 gold badge1 silver badge10 bronze badges 1 Bạn có thể cập nhật nhiều hàng trong MySQL không?Có một vài cách để làm điều đó. Chèn vào các giá trị của học sinh (ID, SCORE1, SCORE2) (1, 5, 8), (2, 10, 8), (3, 8, 3), (4, 10, 7) trên bản cập nhật khóa trùng lặp điểm 1 = giá trị (giá trị ( điểm1), điểm2 = giá trị (điểm2);INSERT INTO students (id, score1, score2) VALUES (1, 5, 8), (2, 10, 8), (3, 8, 3), (4, 10, 7) ON DUPLICATE KEY UPDATE score1 = VALUES(score1), score2 = VALUES(score2);
Làm thế nào tôi có thể cập nhật nhiều hàng cùng một lúc trong SQL?Trong SQL, đôi khi chúng ta cần cập nhật nhiều bản ghi trong một truy vấn.Chúng tôi sẽ sử dụng từ khóa cập nhật để đạt được điều này.Đối với điều này, chúng tôi sử dụng 2 loại ví dụ, tức là chỉ dựa trên một điều kiện và loại thứ hai dựa trên nhiều điều kiện.use the UPDATE keyword to achieve this. For this, we use 2 kinds of examples i.e. the first based on only one condition and the second based on multiple conditions.
Làm thế nào để bạn cập nhật nhiều giá trị hàng?Các giá trị cột trên nhiều hàng có thể được cập nhật trong một câu lệnh cập nhật duy nhất nếu điều kiện được chỉ định trong đó mệnh đề khớp với nhiều hàng.Trong trường hợp này, mệnh đề SET sẽ được áp dụng cho tất cả các hàng phù hợp.in a single UPDATE statement if the condition specified in WHERE clause matches multiple rows. In this case, the SET clause will be applied to all the matched rows.
Làm cách nào để cập nhật hơn 1000 bản ghi trong SQL?Tôi cần cập nhật hơn 1000 bản ghi.Các giá trị nằm trong một bảng khác.Subquery trả về nhiều hơn 1 giá trị.Điều này không được phép khi trình điều khiển con theo sau =,! =.. trong đó cột = (chọn cột2 từ bảng). Cập nhật tab Đặt cột = (chọn Cột2 từ bảng). Chọn @Varable = (chọn Cột2 từ bảng). |