Cách chèn nhiều hàng trong MySQL bằng PHP động

php chèn sql của tôi – Chèn dữ liệu vào MySQL bằng MySQLi và PDO – Chèn dữ liệu vào bảng cơ sở dữ liệu MySQL. Bài viết này hướng dẫn bạn cách sử dụng câu lệnh INSERT INTO SELECT của MySQL để chèn dữ liệu vào một bảng với ví dụ

php chèn sql của tôi – Truy vấn PHP INSERT của MySQL Để chèn dữ liệu vào MySQL trước tiên tôi phải tạo một bảng trong cơ sở dữ liệu. Câu lệnh INSERT INTO được sử dụng để chèn các hàng mới vào bảng cơ sở dữ liệu

Trong bài viết này, chúng ta sẽ thảo luận về cách chèn động nhiều bản ghi trong cơ sở dữ liệu MySQL. Trong các dự án trong thế giới thực, về cơ bản chúng tôi thực hiện loại hoạt động này

Hãy xem xét chúng ta có lớp User POJO và chúng ta sẽ tạo một danh sách các đối tượng người dùng, sau đó chúng ta sẽ tự động chèn tất cả danh sách các đối tượng người dùng bằng một câu lệnh INSERT SQL duy nhất

Đây là mã mẫu

connection.setAutoCommit[false];
for [Iterator iterator = list.iterator[]; iterator.hasNext[];] {
    User user = [User] iterator.next[];
    preparedStatement.setInt[1, user.getId[]];
    preparedStatement.setString[2, user.getName[]];
    preparedStatement.setString[3, user.getEmail[]];
    preparedStatement.setString[4, user.getCountry[]];
    preparedStatement.setString[5, user.getPassword[]];
    preparedStatement.addBatch[];
}
int[] updateCounts = preparedStatement.executeBatch[];
System.out.println[Arrays.toString[updateCounts]];
connection.commit[];
connection.setAutoCommit[true];

Băng hình

Hướng dẫn này được giải thích trong video YouTube bên dưới


Công nghệ sử dụng

  • JDK - 1. 8 hoặc muộn hơn
  • MySQL-5. 7. 12
  • IDE - Eclipse Neon
  • API JDBC - 4. 2

Các bước xử lý chèn câu lệnh SQL hàng loạt với JDBC

  1. Thiết lập kết nối với cơ sở dữ liệu MySQL
  2. Tạo câu lệnh sử dụng đối tượng kết nối
  3. Lặp lại đối tượng Người dùng và chèn động theo lô
  4. Sử dụng câu lệnh thử tài nguyên để tự động đóng tài nguyên JDBC

Từ JDBC 4. 0, chúng tôi không cần bao gồm 'Lớp. forName[]' trong mã của chúng tôi, để tải trình điều khiển JDBC. Khi phương thức 'getConnection' được gọi, 'Trình quản lý trình điều khiển' sẽ tự động tải trình điều khiển phù hợp trong số các trình điều khiển JDBC đã được tải khi khởi tạo và những trình điều khiển được tải rõ ràng bằng cách sử dụng cùng một trình tải lớp như ứng dụng hiện tại

Bất kỳ JDBC 4 nào. 0 trình điều khiển được tìm thấy trong đường dẫn lớp của bạn sẽ tự động được tải. [Tuy nhiên, bạn phải tải bất kỳ trình điều khiển nào theo cách thủ công trước JDBC 4. 0 với phương thức Class. forName. ]

Ví dụ JDBC tự động chèn nhiều hàng vào MySQL

Giao diện PreparedStatement cung cấp các phương thức addBatch[] và execBatch[] để thực hiện các hoạt động hàng loạt

Trong cùng một chức năng, bạn nên đặt mysql_query[] để chèn. Nhưng có vẻ như bạn muốn gửi các nhóm mảng, được sắp xếp lại theo báo cáo. php view, nhưng có điều gì đó không ổn, khi bạn viết

$report->request_date[$i] = $_POST["request_date"];

bạn không xem xét rằng nhiều giá trị được đặt trong request_date [và cả các trường khác của biểu mẫu], hãy thử chỉ cần print_r[] biến đó.

Chủ Đề