Chèn điều kiện mysql

mysql> INSERT INTO books
    [id, title, author, year_published]
VALUES
    [1, 'Green Eggs and Ham', 'Dr. Seuss', 1960];
ERROR 1062 [23000]: Duplicate entry '1' for key 'PRIMARY'
6

mysql> INSERT INTO books
    [id, title, author, year_published]
VALUES
    [1, 'Green Eggs and Ham', 'Dr. Seuss', 1960];
ERROR 1062 [23000]: Duplicate entry '1' for key 'PRIMARY'
7

mysql> INSERT INTO books
    [id, title, author, year_published]
VALUES
    [1, 'Green Eggs and Ham', 'Dr. Seuss', 1960];
ERROR 1062 [23000]: Duplicate entry '1' for key 'PRIMARY'
8

mysql> INSERT INTO books
    [id, title, author, year_published]
VALUES
    [1, 'Green Eggs and Ham', 'Dr. Seuss', 1960];
ERROR 1062 [23000]: Duplicate entry '1' for key 'PRIMARY'
9

mysql> SELECT * FROM books LIMIT 3;
+----+-------------------------+---------------------+----------------+
| id | title                   | author              | year_published |
+----+-------------------------+---------------------+----------------+
|  1 | In Search of Lost Time  | Marcel Proust       |           1913 |
|  2 | Ulysses                 | James Joyce         |           1922 |
|  3 | Don Quixote             | Miguel de Cervantes |           1605 |
+----+-------------------------+---------------------+----------------+
3 rows in set [0.00 sec]
0

mysql> SELECT * FROM books LIMIT 3;
+----+-------------------------+---------------------+----------------+
| id | title                   | author              | year_published |
+----+-------------------------+---------------------+----------------+
|  1 | In Search of Lost Time  | Marcel Proust       |           1913 |
|  2 | Ulysses                 | James Joyce         |           1922 |
|  3 | Don Quixote             | Miguel de Cervantes |           1605 |
+----+-------------------------+---------------------+----------------+
3 rows in set [0.00 sec]
1

mysql> SELECT * FROM books LIMIT 3;
+----+-------------------------+---------------------+----------------+
| id | title                   | author              | year_published |
+----+-------------------------+---------------------+----------------+
|  1 | In Search of Lost Time  | Marcel Proust       |           1913 |
|  2 | Ulysses                 | James Joyce         |           1922 |
|  3 | Don Quixote             | Miguel de Cervantes |           1605 |
+----+-------------------------+---------------------+----------------+
3 rows in set [0.00 sec]
2

mysql> SELECT * FROM books LIMIT 3;
+----+-------------------------+---------------------+----------------+
| id | title                   | author              | year_published |
+----+-------------------------+---------------------+----------------+
|  1 | In Search of Lost Time  | Marcel Proust       |           1913 |
|  2 | Ulysses                 | James Joyce         |           1922 |
|  3 | Don Quixote             | Miguel de Cervantes |           1605 |
+----+-------------------------+---------------------+----------------+
3 rows in set [0.00 sec]
3

mysql> SELECT * FROM books LIMIT 3;
+----+-------------------------+---------------------+----------------+
| id | title                   | author              | year_published |
+----+-------------------------+---------------------+----------------+
|  1 | In Search of Lost Time  | Marcel Proust       |           1913 |
|  2 | Ulysses                 | James Joyce         |           1922 |
|  3 | Don Quixote             | Miguel de Cervantes |           1605 |
+----+-------------------------+---------------------+----------------+
3 rows in set [0.00 sec]
4

mysql> INSERT INTO books
    [id, title, author, year_published]
VALUES
    [1, 'Green Eggs and Ham', 'Dr. Seuss', 1960];
ERROR 1062 [23000]: Duplicate entry '1' for key 'PRIMARY'
9

mysql> SELECT * FROM books LIMIT 3;
+----+-------------------------+---------------------+----------------+
| id | title                   | author              | year_published |
+----+-------------------------+---------------------+----------------+
|  1 | In Search of Lost Time  | Marcel Proust       |           1913 |
|  2 | Ulysses                 | James Joyce         |           1922 |
|  3 | Don Quixote             | Miguel de Cervantes |           1605 |
+----+-------------------------+---------------------+----------------+
3 rows in set [0.00 sec]
0

mysql> SELECT * FROM books LIMIT 3;
+----+-------------------------+---------------------+----------------+
| id | title                   | author              | year_published |
+----+-------------------------+---------------------+----------------+
|  1 | In Search of Lost Time  | Marcel Proust       |           1913 |
|  2 | Ulysses                 | James Joyce         |           1922 |
|  3 | Don Quixote             | Miguel de Cervantes |           1605 |
+----+-------------------------+---------------------+----------------+
3 rows in set [0.00 sec]
1

mysql> INSERT INTO books
    [id, title, author, year_published]
VALUES
    [1, 'Green Eggs and Ham', 'Dr. Seuss', 1960];
ERROR 1062 [23000]: Duplicate entry '1' for key 'PRIMARY'
72

mysql> INSERT INTO books
    [id, title, author, year_published]
VALUES
    [1, 'Green Eggs and Ham', 'Dr. Seuss', 1960];
ERROR 1062 [23000]: Duplicate entry '1' for key 'PRIMARY'
73

mysql> INSERT INTO books
    [id, title, author, year_published]
VALUES
    [1, 'Green Eggs and Ham', 'Dr. Seuss', 1960];
ERROR 1062 [23000]: Duplicate entry '1' for key 'PRIMARY'
74

mysql> INSERT INTO books
    [id, title, author, year_published]
VALUES
    [1, 'Green Eggs and Ham', 'Dr. Seuss', 1960];
ERROR 1062 [23000]: Duplicate entry '1' for key 'PRIMARY'
75

mysql> INSERT INTO books
    [id, title, author, year_published]
VALUES
    [1, 'Green Eggs and Ham', 'Dr. Seuss', 1960];
ERROR 1062 [23000]: Duplicate entry '1' for key 'PRIMARY'
76

Trong file download đã có sẵn file tintuc. sql, file này là file dữ liệu mẫu, sau khi tạo cơ sở dữ liệu chúng ta có thể lấy dữ liệu từ file tintuc. sql bằng thao tác nhập có trong phpMyAdmin. tin tuc. sql, file này là file dữ liệu mẫu, sau khi tạo cơ sở dữ liệu chúng ta có thể lấy dữ liệu từ file tintuc. sql bằng thao tác nhập có trong phpMyAdmin

MySQL cung cấp một số câu lệnh hữu ích khi cần thiết để

mysql> SELECT * FROM books LIMIT 3;
+----+-------------------------+---------------------+----------------+
| id | title                   | author              | year_published |
+----+-------------------------+---------------------+----------------+
|  1 | In Search of Lost Time  | Marcel Proust       |           1913 |
|  2 | Ulysses                 | James Joyce         |           1922 |
|  3 | Don Quixote             | Miguel de Cervantes |           1605 |
+----+-------------------------+---------------------+----------------+
3 rows in set [0.00 sec]
0 hàng hóa sau khi xác minh hàng hóa đó trên thực tế, mới hoặc đã tồn tại

Nội dung chính Hiển thị

  • Use INSERT IGNORE
  • Sử dụng REPLACE
  • Use INSERT. TRÊN CẬP NHẬT KHÓA DUPLICATE
  • Làm thế nào để bạn chèn dữ liệu nếu không tồn tại trong MySQL?
  • Chèn có giống như cập nhật trong mysql không?
  • Chèn [] có thay thế không?
  • Chèn vào bản cập nhật?

Dưới đây, chúng tôi sẽ kiểm tra ba phương pháp khác nhau và giải thích những ưu điểm và nhược điểm của từng phương pháp một lần để bạn nắm bắt chắc chắn cách cấu hình các câu lệnh của riêng bạn khi cung cấp dữ liệu mới hoặc

Use INSERT IGNORE

Sử dụng

mysql> INSERT INTO books
    [id, title, author, year_published]
VALUES
    [1, 'Green Eggs and Ham', 'Dr. Seuss', 1960];
ERROR 1062 [23000]: Duplicate entry '1' for key 'PRIMARY'
7 một cách hiệu quả khiến MySQL bỏ qua các lỗi thực thi trong khi cố gắng thực hiện các câu lệnh
mysql> SELECT * FROM books LIMIT 3;
+----+-------------------------+---------------------+----------------+
| id | title                   | author              | year_published |
+----+-------------------------+---------------------+----------------+
|  1 | In Search of Lost Time  | Marcel Proust       |           1913 |
|  2 | Ulysses                 | James Joyce         |           1922 |
|  3 | Don Quixote             | Miguel de Cervantes |           1605 |
+----+-------------------------+---------------------+----------------+
3 rows in set [0.00 sec]
0. Điều này có nghĩa là một câu lệnh
mysql> INSERT INTO books
    [id, title, author, year_published]
VALUES
    [1, 'Green Eggs and Ham', 'Dr. Seuss', 1960];
ERROR 1062 [23000]: Duplicate entry '1' for key 'PRIMARY'
7 chứa giá trị lặp lại trong trường

mysql> INSERT INTO books
    [id, title, author, year_published]
VALUES
    [1, 'Green Eggs and Ham', 'Dr. Seuss', 1960];
ERROR 1062 [23000]: Duplicate entry '1' for key 'PRIMARY'
5 hoặc trường
mysql> INSERT INTO books
    [id, title, author, year_published]
VALUES
    [1, 'Green Eggs and Ham', 'Dr. Seuss', 1960];
ERROR 1062 [23000]: Duplicate entry '1' for key 'PRIMARY'
6 không tạo ra lỗi, mà thay vào đó sẽ hoàn toàn bỏ qua lệnh
mysql> SELECT * FROM books LIMIT 3;
+----+-------------------------+---------------------+----------------+
| id | title                   | author              | year_published |
+----+-------------------------+---------------------+----------------+
|  1 | In Search of Lost Time  | Marcel Proust       |           1913 |
|  2 | Ulysses                 | James Joyce         |           1922 |
|  3 | Don Quixote             | Miguel de Cervantes |           1605 |
+----+-------------------------+---------------------+----------------+
3 rows in set [0.00 sec]
0 cụ thể đó. Mục đích rõ ràng rõ ràng là thực hiện một số lượng lớn các câu lệnh ____99 cho sự kết hợp dữ liệu cả hai đã tồn tại trong cơ sở dữ liệu cũng như dữ liệu mới đi vào hệ thống. không tạo ra lỗi, nhưng thay vào đó sẽ bỏ qua hoàn toàn lệnh
mysql> SELECT * FROM books LIMIT 3;
+----+-------------------------+---------------------+----------------+
| id | title                   | author              | year_published |
+----+-------------------------+---------------------+----------------+
|  1 | In Search of Lost Time  | Marcel Proust       |           1913 |
|  2 | Ulysses                 | James Joyce         |           1922 |
|  3 | Don Quixote             | Miguel de Cervantes |           1605 |
+----+-------------------------+---------------------+----------------+
3 rows in set [0.00 sec]
0 cụ thể đó. Mục đích rõ ràng là thực thi một số lượng lớn các câu lệnh
mysql> SELECT * FROM books LIMIT 3;
+----+-------------------------+---------------------+----------------+
| id | title                   | author              | year_published |
+----+-------------------------+---------------------+----------------+
|  1 | In Search of Lost Time  | Marcel Proust       |           1913 |
|  2 | Ulysses                 | James Joyce         |           1922 |
|  3 | Don Quixote             | Miguel de Cervantes |           1605 |
+----+-------------------------+---------------------+----------------+
3 rows in set [0.00 sec]
0 cho sự kết hợp của dữ liệu đã tồn tại trong cơ sở dữ liệu cũng như dữ liệu mới được đưa vào hệ thống

Ví dụ. bảng

mysql> INSERT INTO books
    [id, title, author, year_published]
VALUES
    [1, 'Green Eggs and Ham', 'Dr. Seuss', 1960];
ERROR 1062 [23000]: Duplicate entry '1' for key 'PRIMARY'
9 của tôi có thể chứa một vài bản ghi.
mysql> SELECT * FROM books LIMIT 3;
+----+-------------------------+---------------------+----------------+
| id | title                   | author              | year_published |
+----+-------------------------+---------------------+----------------+
|  1 | In Search of Lost Time  | Marcel Proust       |           1913 |
|  2 | Ulysses                 | James Joyce         |           1922 |
|  3 | Don Quixote             | Miguel de Cervantes |           1605 |
+----+-------------------------+---------------------+----------------+
3 rows in set [0.00 sec]

Nếu chúng ta có một chuỗi dữ liệu lớn mới và hiện có cho

mysql> SELECT * FROM books LIMIT 3;
+----+-------------------------+---------------------+----------------+
| id | title                   | author              | year_published |
+----+-------------------------+---------------------+----------------+
|  1 | In Search of Lost Time  | Marcel Proust       |           1913 |
|  2 | Ulysses                 | James Joyce         |           1922 |
|  3 | Don Quixote             | Miguel de Cervantes |           1605 |
+----+-------------------------+---------------------+----------------+
3 rows in set [0.00 sec]
0 và một phần dữ liệu chứa giá trị phù hợp cho trường

mysql> INSERT INTO books
    [id, title, author, year_published]
VALUES
    [1, 'Green Eggs and Ham', 'Dr. Seuss', 1960];
ERROR 1062 [23000]: Duplicate entry '1' for key 'PRIMARY'
21 [đó là
mysql> INSERT INTO books
    [id, title, author, year_published]
VALUES
    [1, 'Green Eggs and Ham', 'Dr. Seuss', 1960];
ERROR 1062 [23000]: Duplicate entry '1' for key 'PRIMARY'
5
mysql> INSERT INTO books
    [id, title, author, year_published]
VALUES
    [1, 'Green Eggs and Ham', 'Dr. Seuss', 1960];
ERROR 1062 [23000]: Duplicate entry '1' for key 'PRIMARY'
23 trong bảng], việc sử dụng
mysql> SELECT * FROM books LIMIT 3;
+----+-------------------------+---------------------+----------------+
| id | title                   | author              | year_published |
+----+-------------------------+---------------------+----------------+
|  1 | In Search of Lost Time  | Marcel Proust       |           1913 |
|  2 | Ulysses                 | James Joyce         |           1922 |
|  3 | Don Quixote             | Miguel de Cervantes |           1605 |
+----+-------------------------+---------------------+----------------+
3 rows in set [0.00 sec]
0 cơ bản sẽ tạo ra lỗi dự kiến

mysql> INSERT INTO books
    [id, title, author, year_published]
VALUES
    [1, 'Green Eggs and Ham', 'Dr. Seuss', 1960];
ERROR 1062 [23000]: Duplicate entry '1' for key 'PRIMARY'

Mặt khác, nếu chúng ta sử dụng

mysql> INSERT INTO books
    [id, title, author, year_published]
VALUES
    [1, 'Green Eggs and Ham', 'Dr. Seuss', 1960];
ERROR 1062 [23000]: Duplicate entry '1' for key 'PRIMARY'
7, nỗ lực lặp lại bị bỏ qua và không có kết quả xảy ra lỗi

mysql> INSERT INTO books
    [id, title, author, year_published]
VALUES
    [1, 'Green Eggs and Ham', 'Dr. Seuss', 1960];
ERROR 1062 [23000]: Duplicate entry '1' for key 'PRIMARY'
2

Sử dụng REPLACE

Sử dụng

mysql> INSERT INTO books
    [id, title, author, year_published]
VALUES
    [1, 'Green Eggs and Ham', 'Dr. Seuss', 1960];
ERROR 1062 [23000]: Duplicate entry '1' for key 'PRIMARY'
9

MySQL cung cấp một số câu lệnh hữu ích khi cần thiết để

mysql> SELECT * FROM books LIMIT 3;
+----+-------------------------+---------------------+----------------+
| id | title                   | author              | year_published |
+----+-------------------------+---------------------+----------------+
|  1 | In Search of Lost Time  | Marcel Proust       |           1913 |
|  2 | Ulysses                 | James Joyce         |           1922 |
|  3 | Don Quixote             | Miguel de Cervantes |           1605 |
+----+-------------------------+---------------------+----------------+
3 rows in set [0.00 sec]
0 hàng hóa sau khi xác minh hàng hóa đó trên thực tế, mới hoặc đã tồn tại

  • Dưới đây, chúng tôi sẽ kiểm tra ba phương pháp khác nhau và giải thích những ưu điểm và nhược điểm của từng phương pháp một lần để bạn nắm bắt chắc chắn cách cấu hình các câu lệnh của riêng bạn khi cung cấp dữ liệu mới hoặc
  • Sử dụng
    mysql> INSERT INTO books
        [id, title, author, year_published]
    VALUES
        [1, 'Green Eggs and Ham', 'Dr. Seuss', 1960];
    ERROR 1062 [23000]: Duplicate entry '1' for key 'PRIMARY'
    
    7 một cách hiệu quả khiến MySQL bỏ qua các lỗi thực thi trong khi cố gắng thực hiện các câu lệnh
    mysql> SELECT * FROM books LIMIT 3;
    +----+-------------------------+---------------------+----------------+
    | id | title                   | author              | year_published |
    +----+-------------------------+---------------------+----------------+
    |  1 | In Search of Lost Time  | Marcel Proust       |           1913 |
    |  2 | Ulysses                 | James Joyce         |           1922 |
    |  3 | Don Quixote             | Miguel de Cervantes |           1605 |
    +----+-------------------------+---------------------+----------------+
    3 rows in set [0.00 sec]
    
    0. Điều này có nghĩa là một câu lệnh
    mysql> INSERT INTO books
        [id, title, author, year_published]
    VALUES
        [1, 'Green Eggs and Ham', 'Dr. Seuss', 1960];
    ERROR 1062 [23000]: Duplicate entry '1' for key 'PRIMARY'
    
    7 bao gồm giá trị lặp lại trong trường
    mysql> INSERT INTO books
        [id, title, author, year_published]
    VALUES
        [1, 'Green Eggs and Ham', 'Dr. Seuss', 1960];
    ERROR 1062 [23000]: Duplicate entry '1' for key 'PRIMARY'
    
    5 hoặc trường
    mysql> INSERT INTO books
        [id, title, author, year_published]
    VALUES
        [1, 'Green Eggs and Ham', 'Dr. Seuss', 1960];
    ERROR 1062 [23000]: Duplicate entry '1' for key 'PRIMARY'
    
    6 không tạo ra lỗi, mà thay vào đó sẽ hoàn toàn hủy bỏ lệnh
    mysql> SELECT * FROM books LIMIT 3;
    +----+-------------------------+---------------------+----------------+
    | id | title                   | author              | year_published |
    +----+-------------------------+---------------------+----------------+
    |  1 | In Search of Lost Time  | Marcel Proust       |           1913 |
    |  2 | Ulysses                 | James Joyce         |           1922 |
    |  3 | Don Quixote             | Miguel de Cervantes |           1605 |
    +----+-------------------------+---------------------+----------------+
    3 rows in set [0.00 sec]
    
    0 cụ thể đó. Mục đích rõ ràng rõ ràng là thực hiện một số lượng lớn các câu lệnh ____99 cho sự kết hợp dữ liệu cả hai đã tồn tại trong cơ sở dữ liệu cũng như dữ liệu mới đi vào hệ thống

Ví dụ. bảng

mysql> INSERT INTO books
    [id, title, author, year_published]
VALUES
    [1, 'Green Eggs and Ham', 'Dr. Seuss', 1960];
ERROR 1062 [23000]: Duplicate entry '1' for key 'PRIMARY'
9 của tôi có thể chứa một vài bản ghi

Nếu chúng ta có một chuỗi dữ liệu lớn mới và hiện có cho

mysql> SELECT * FROM books LIMIT 3;
+----+-------------------------+---------------------+----------------+
| id | title                   | author              | year_published |
+----+-------------------------+---------------------+----------------+
|  1 | In Search of Lost Time  | Marcel Proust       |           1913 |
|  2 | Ulysses                 | James Joyce         |           1922 |
|  3 | Don Quixote             | Miguel de Cervantes |           1605 |
+----+-------------------------+---------------------+----------------+
3 rows in set [0.00 sec]
0 và một phần dữ liệu chứa giá trị phù hợp cho trường

mysql> INSERT INTO books
    [id, title, author, year_published]
VALUES
    [1, 'Green Eggs and Ham', 'Dr. Seuss', 1960];
ERROR 1062 [23000]: Duplicate entry '1' for key 'PRIMARY'
21 [đó là
mysql> INSERT INTO books
    [id, title, author, year_published]
VALUES
    [1, 'Green Eggs and Ham', 'Dr. Seuss', 1960];
ERROR 1062 [23000]: Duplicate entry '1' for key 'PRIMARY'
5
mysql> INSERT INTO books
    [id, title, author, year_published]
VALUES
    [1, 'Green Eggs and Ham', 'Dr. Seuss', 1960];
ERROR 1062 [23000]: Duplicate entry '1' for key 'PRIMARY'
23 trong bảng], việc sử dụng
mysql> SELECT * FROM books LIMIT 3;
+----+-------------------------+---------------------+----------------+
| id | title                   | author              | year_published |
+----+-------------------------+---------------------+----------------+
|  1 | In Search of Lost Time  | Marcel Proust       |           1913 |
|  2 | Ulysses                 | James Joyce         |           1922 |
|  3 | Don Quixote             | Miguel de Cervantes |           1605 |
+----+-------------------------+---------------------+----------------+
3 rows in set [0.00 sec]
0 cơ bản sẽ tạo ra lỗi dự kiến

Mặt khác, nếu chúng ta sử dụng

mysql> INSERT INTO books
    [id, title, author, year_published]
VALUES
    [1, 'Green Eggs and Ham', 'Dr. Seuss', 1960];
ERROR 1062 [23000]: Duplicate entry '1' for key 'PRIMARY'
7, nỗ lực lặp lại bị bỏ qua và không có kết quả xảy ra lỗi. hai hàng bị ảnh hưởng bởi vì chúng tôi thực sự

mysql> INSERT INTO books
    [id, title, author, year_published]
VALUES
    [1, 'Green Eggs and Ham', 'Dr. Seuss', 1960];
ERROR 1062 [23000]: Duplicate entry '1' for key 'PRIMARY'
57 hàng hiện tại sau đó_______158 hàng mới để thay thế nó

Trong trường hợp bạn muốn thực hiện việc thay thế các hàng trong đó các lệnh

mysql> SELECT * FROM books LIMIT 3;
+----+-------------------------+---------------------+----------------+
| id | title                   | author              | year_published |
+----+-------------------------+---------------------+----------------+
|  1 | In Search of Lost Time  | Marcel Proust       |           1913 |
|  2 | Ulysses                 | James Joyce         |           1922 |
|  3 | Don Quixote             | Miguel de Cervantes |           1605 |
+----+-------------------------+---------------------+----------------+
3 rows in set [0.00 sec]
0 sẽ tạo ra các lỗi do các giá trị sao chép

mysql> INSERT INTO books
    [id, title, author, year_published]
VALUES
    [1, 'Green Eggs and Ham', 'Dr. Seuss', 1960];
ERROR 1062 [23000]: Duplicate entry '1' for key 'PRIMARY'
5 hoặc
mysql> INSERT INTO books
    [id, title, author, year_published]
VALUES
    [1, 'Green Eggs and Ham', 'Dr. Seuss', 1960];
ERROR 1062 [23000]: Duplicate entry '1' for key 'PRIMARY'
6 Như đã nêu ở trên, một tùy chọn là lựa chọn câu lệnh
mysql> INSERT INTO books
    [id, title, author, year_published]
VALUES
    [1, 'Green Eggs and Ham', 'Dr. Seuss', 1960];
ERROR 1062 [23000]: Duplicate entry '1' for key 'PRIMARY'
8

Use INSERT. TRÊN CẬP NHẬT KHÓA DUPLICATE

MySQL cung cấp một số câu lệnh hữu ích khi cần thiết để

mysql> SELECT * FROM books LIMIT 3;
+----+-------------------------+---------------------+----------------+
| id | title                   | author              | year_published |
+----+-------------------------+---------------------+----------------+
|  1 | In Search of Lost Time  | Marcel Proust       |           1913 |
|  2 | Ulysses                 | James Joyce         |           1922 |
|  3 | Don Quixote             | Miguel de Cervantes |           1605 |
+----+-------------------------+---------------------+----------------+
3 rows in set [0.00 sec]
0 hàng hóa sau khi xác minh hàng hóa đó trên thực tế, mới hoặc đã tồn tại

Dưới đây, chúng tôi sẽ kiểm tra ba phương pháp khác nhau và giải thích những ưu điểm và nhược điểm của từng phương pháp một lần để bạn nắm bắt chắc chắn cách cấu hình các câu lệnh của riêng bạn khi cung cấp dữ liệu mới hoặc

Sử dụng

mysql> INSERT INTO books
    [id, title, author, year_published]
VALUES
    [1, 'Green Eggs and Ham', 'Dr. Seuss', 1960];
ERROR 1062 [23000]: Duplicate entry '1' for key 'PRIMARY'
7 một cách hiệu quả khiến MySQL bỏ qua các lỗi thực thi trong khi cố gắng thực hiện các câu lệnh
mysql> SELECT * FROM books LIMIT 3;
+----+-------------------------+---------------------+----------------+
| id | title                   | author              | year_published |
+----+-------------------------+---------------------+----------------+
|  1 | In Search of Lost Time  | Marcel Proust       |           1913 |
|  2 | Ulysses                 | James Joyce         |           1922 |
|  3 | Don Quixote             | Miguel de Cervantes |           1605 |
+----+-------------------------+---------------------+----------------+
3 rows in set [0.00 sec]
0. Điều này có nghĩa là một câu lệnh
mysql> INSERT INTO books
    [id, title, author, year_published]
VALUES
    [1, 'Green Eggs and Ham', 'Dr. Seuss', 1960];
ERROR 1062 [23000]: Duplicate entry '1' for key 'PRIMARY'
7 chứa giá trị lặp lại trong trường

mysql> INSERT INTO books
    [id, title, author, year_published]
VALUES
    [1, 'Green Eggs and Ham', 'Dr. Seuss', 1960];
ERROR 1062 [23000]: Duplicate entry '1' for key 'PRIMARY'
5 hoặc trường
mysql> INSERT INTO books
    [id, title, author, year_published]
VALUES
    [1, 'Green Eggs and Ham', 'Dr. Seuss', 1960];
ERROR 1062 [23000]: Duplicate entry '1' for key 'PRIMARY'
6 không tạo ra lỗi, mà thay vào đó sẽ hoàn toàn bỏ qua lệnh
mysql> SELECT * FROM books LIMIT 3;
+----+-------------------------+---------------------+----------------+
| id | title                   | author              | year_published |
+----+-------------------------+---------------------+----------------+
|  1 | In Search of Lost Time  | Marcel Proust       |           1913 |
|  2 | Ulysses                 | James Joyce         |           1922 |
|  3 | Don Quixote             | Miguel de Cervantes |           1605 |
+----+-------------------------+---------------------+----------------+
3 rows in set [0.00 sec]
0 cụ thể đó. Mục đích rõ ràng rõ ràng là thực hiện một số lượng lớn các câu lệnh ____99 cho sự kết hợp dữ liệu cả hai đã tồn tại trong cơ sở dữ liệu cũng như dữ liệu mới đi vào hệ thống

mysql> INSERT INTO books
    [id, title, author, year_published]
VALUES
    [1, 'Green Eggs and Ham', 'Dr. Seuss', 1960];
ERROR 1062 [23000]: Duplicate entry '1' for key 'PRIMARY'
1

Ví dụ. bảng

mysql> INSERT INTO books
    [id, title, author, year_published]
VALUES
    [1, 'Green Eggs and Ham', 'Dr. Seuss', 1960];
ERROR 1062 [23000]: Duplicate entry '1' for key 'PRIMARY'
9 của tôi có thể chứa một vài bản ghi

Nếu chúng ta có một chuỗi dữ liệu lớn mới và hiện có cho

mysql> SELECT * FROM books LIMIT 3;
+----+-------------------------+---------------------+----------------+
| id | title                   | author              | year_published |
+----+-------------------------+---------------------+----------------+
|  1 | In Search of Lost Time  | Marcel Proust       |           1913 |
|  2 | Ulysses                 | James Joyce         |           1922 |
|  3 | Don Quixote             | Miguel de Cervantes |           1605 |
+----+-------------------------+---------------------+----------------+
3 rows in set [0.00 sec]
0 và một phần dữ liệu chứa giá trị phù hợp cho trường

mysql> INSERT INTO books
    [id, title, author, year_published]
VALUES
    [1, 'Green Eggs and Ham', 'Dr. Seuss', 1960];
ERROR 1062 [23000]: Duplicate entry '1' for key 'PRIMARY'
21 [đó là
mysql> INSERT INTO books
    [id, title, author, year_published]
VALUES
    [1, 'Green Eggs and Ham', 'Dr. Seuss', 1960];
ERROR 1062 [23000]: Duplicate entry '1' for key 'PRIMARY'
5
mysql> INSERT INTO books
    [id, title, author, year_published]
VALUES
    [1, 'Green Eggs and Ham', 'Dr. Seuss', 1960];
ERROR 1062 [23000]: Duplicate entry '1' for key 'PRIMARY'
23 trong bảng], việc sử dụng
mysql> SELECT * FROM books LIMIT 3;
+----+-------------------------+---------------------+----------------+
| id | title                   | author              | year_published |
+----+-------------------------+---------------------+----------------+
|  1 | In Search of Lost Time  | Marcel Proust       |           1913 |
|  2 | Ulysses                 | James Joyce         |           1922 |
|  3 | Don Quixote             | Miguel de Cervantes |           1605 |
+----+-------------------------+---------------------+----------------+
3 rows in set [0.00 sec]
0 cơ bản sẽ tạo ra lỗi dự kiến.
mysql> INSERT INTO books
    [id, title, author, year_published]
VALUES
    [1, 'Green Eggs and Ham', 'Dr. Seuss', 1960];
ERROR 1062 [23000]: Duplicate entry '1' for key 'PRIMARY'
6

Mặt khác, nếu chúng ta sử dụng

mysql> INSERT INTO books
    [id, title, author, year_published]
VALUES
    [1, 'Green Eggs and Ham', 'Dr. Seuss', 1960];
ERROR 1062 [23000]: Duplicate entry '1' for key 'PRIMARY'
7, nỗ lực lặp lại bị bỏ qua và không có kết quả xảy ra lỗi

Làm thế nào để bạn chèn dữ liệu nếu không tồn tại trong MySQL?

Làm thế nào để chèn nếu không tồn tại trong MySQL?. .

Use lồng vào bỏ qua. Vui lòng có một truy vấn chèn cơ bản. chèn vào các công ty [id, full_name, địa chỉ, điện_số] giá trị [1, 'Apple', '1 Infinite Loop, Cupertino, California', 18002752273];

Use insert. on the update key repeat.

Sử dụng thay thế. Chúng ta có thể sử dụng câu lệnh thay thế

Chèn có giống như cập nhật trong mysql không?

Chèn là để thêm dữ liệu vào bảng, cập nhật là để cập nhật dữ liệu đã có trong bảng. .

Chèn [] có thay thế không?

Bạn có thể sử dụng câu lệnh chèn hoặc thay thế để viết hàng mới hoặc thay thế hàng hiện có trong bảng. Cú pháp và hành động của câu lệnh chèn hoặc thay thế tương tự như câu lệnh chèn. Không giống như câu lệnh INSERT, câu lệnh chèn hoặc thay thế không tạo ra lỗi nếu một hàng đã tồn tại. . Cú pháp và hành vi của câu lệnh INSERT OR REPLACE tương tự như câu lệnh INSERT. Không giống như câu lệnh INSERT, câu lệnh INSERT OR REPLACE không tạo ra lỗi nếu một hàng đã tồn tại.

Chèn vào bản cập nhật?

Chèn là lệnh DML để thêm một hoặc nhiều hàng vào bảng trong RDBMS trong khi cập nhật là lệnh DML để thay đổi hoặc cập nhật các giá trị trong bảng RDBMS. Do đó, đây là sự khác biệt chính giữa chèn và cập nhật trong SQL

Chủ Đề