Cách chèn giá trị mặc định vào mysql
Nếu ERROR 1062 (23000): Duplicate entry 'dup_value' for key 'col'7 chứa ERROR 1062 (23000): Duplicate entry 'dup_value' for key 'col'8 và bạn đang chèn vào một bảng giao dịch (như InnoDB) hoặc nếu SQL_MODE chứa ERROR 1062 (23000): Duplicate entry 'dup_value' for key 'col'9, thì tất cả các cột ERROR 1062 (23000): Duplicate entry 'dup_value' for key 'col'0 không có giá trị ERROR 1062 (23000): Duplicate entry 'dup_value' for key 'col'1 (và không phải là AUTO_INCREMENT) phải được tham chiếu rõ ràng trong câu lệnh ERROR 1062 (23000): Duplicate entry 'dup_value' for key 'col'2. Nếu không, một lỗi như thế này được tạo ra Show
ERROR 1364 (HY000): Field 'col' doesn't have a default value Trong tất cả các trường hợp khác, nếu cột ERROR 1062 (23000): Duplicate entry 'dup_value' for key 'col'0 không có giá trị ERROR 1062 (23000): Duplicate entry 'dup_value' for key 'col'1 không được tham chiếu, thì một giá trị trống sẽ được chèn vào (ví dụ: 0 cho cột ERROR 1364 (HY000): Field 'col' doesn't have a default value1 và '' cho cột ERROR 1364 (HY000): Field 'col' doesn't have a default value2). Xem ví dụ Nếu cột ERROR 1062 (23000): Duplicate entry 'dup_value' for key 'col'0 có giá trị ERROR 1062 (23000): Duplicate entry 'dup_value' for key 'col'1 không được tham chiếu, thì ERROR 1364 (HY000): Field 'col' doesn't have a default value5 sẽ được chèn vào Nếu cột ERROR 1364 (HY000): Field 'col' doesn't have a default value5 có giá trị ERROR 1062 (23000): Duplicate entry 'dup_value' for key 'col'1 không được tham chiếu, giá trị mặc định của nó sẽ được chèn vào. Cũng có thể chỉ định rõ ràng giá trị mặc định bằng cách sử dụng từ khóa ERROR 1062 (23000): Duplicate entry 'dup_value' for key 'col'1 hoặc hàm ERROR 1364 (HY000): Field 'col' doesn't have a default value9 Nếu từ khóa ERROR 1062 (23000): Duplicate entry 'dup_value' for key 'col'1 được sử dụng nhưng cột không có giá trị ERROR 1062 (23000): Duplicate entry 'dup_value' for key 'col'1, thì sẽ xảy ra lỗi như thế này ERROR 1364 (HY000): Field 'col' doesn't have a default value Theo mặc định, nếu bạn cố gắng chèn một hàng trùng lặp và có chỉ mục ERROR 1062 (23000): Duplicate entry 'dup_value' for key 'col'2, thì ERROR 1062 (23000): Duplicate entry 'dup_value' for key 'col'2 sẽ dừng lại và một lỗi như thế này được tạo ra ERROR 1062 (23000): Duplicate entry 'dup_value' for key 'col' Để xử lý các bản sao, bạn có thể sử dụng mệnh đề IGNORE, INSERT ON DUPLICATE KEY UPDATE hoặc câu lệnh REPLACE. Lưu ý rằng các tùy chọn BỎ QUA và TRÌ HOÃN sẽ bị bỏ qua khi bạn sử dụng CẬP NHẬT KHÓA TRÊN DUPLICATE Xem thêmBình luậnNội dung được sao chép trên trang web này là tài sản của chủ sở hữu tương ứng và nội dung này không được MariaDB xem xét trước. Quan điểm, thông tin và ý kiến được thể hiện bởi nội dung này không nhất thiết đại diện cho quan điểm của MariaDB hoặc bất kỳ bên nào khác Ràng buộc ERROR 1062 (23000): Duplicate entry 'dup_value' for key 'col'1 cũng có thể được sử dụng để chèn các giá trị hệ thống, bằng cách sử dụng các hàm như 3 TẠO BẢNG Đơn đặt hàng ( SQL MẶC ĐỊNH trên ALTER TABLEĐể tạo ràng buộc ERROR 1062 (23000): Duplicate entry 'dup_value' for key 'col'1 trên cột "Thành phố" khi bảng đã được tạo, hãy sử dụng SQL sau Tóm lược. trong hướng dẫn này, bạn sẽ học cách sử dụng câu lệnh MySQL 5 để chèn một hoặc nhiều hàng vào một bảng Giới thiệu về câu lệnh MySQL INSERT INTO table(c1,c2,...) VALUES (v11,v12,...), (v21,v22,...), ... (vnn,vn2,...);Code language: SQL (Structured Query Language) (sql)5Câu lệnh 5 cho phép bạn chèn một hoặc nhiều hàng vào một bảng. Sau đây minh họa cú pháp của câu lệnh 5 ERROR 1364 (HY000): Field 'col' doesn't have a default value3 Trong cú pháp này,
Số lượng cột và giá trị phải giống nhau. Ngoài ra, vị trí của các cột phải tương ứng với vị trí của các giá trị của chúng Để chèn nhiều hàng vào một bảng bằng một câu lệnh 5, bạn sử dụng cú pháp sau
Trong cú pháp này, các hàng được phân tách bằng dấu phẩy trong mệnh đề ERROR 1364 (HY000): Field 'col' doesn't have a default value50 MySQL INSERT INTO table(c1,c2,...) VALUES (v11,v12,...), (v21,v22,...), ... (vnn,vn2,...);Code language: SQL (Structured Query Language) (sql)5 ví dụHãy tạo một bảng mới tên là ERROR 1364 (HY000): Field 'col' doesn't have a default value54 để thực hành câu lệnh 5 ERROR 1364 (HY000): Field 'col' doesn't have a default value5 1) MySQL INSERT INTO table(c1,c2,...) VALUES (v11,v12,...), (v21,v22,...), ... (vnn,vn2,...);Code language: SQL (Structured Query Language) (sql)5 – ví dụ về INSERT INTO table(c1,c2,...) VALUES (v11,v12,...), (v21,v22,...), ... (vnn,vn2,...);Code language: SQL (Structured Query Language) (sql)5 đơn giảnCâu lệnh sau chèn một hàng mới vào bảng ERROR 1364 (HY000): Field 'col' doesn't have a default value54 ERROR 1364 (HY000): Field 'col' doesn't have a default value6 MySQL trả về thông báo sau ERROR 1364 (HY000): Field 'col' doesn't have a default value7 Điều đó có nghĩa là một hàng đã được chèn vào bảng ERROR 1364 (HY000): Field 'col' doesn't have a default value54 thành công Truy vấn này trả về dữ liệu từ bảng ERROR 1364 (HY000): Field 'col' doesn't have a default value54 ERROR 1364 (HY000): Field 'col' doesn't have a default value0 Đây là đầu ra Trong ví dụ này, chúng tôi đã chỉ định các giá trị cho chỉ các cột ERROR 1364 (HY000): Field 'col' doesn't have a default value61 và ERROR 1364 (HY000): Field 'col' doesn't have a default value62. Đối với các cột khác, MySQL sử dụng các giá trị mặc định Cột ERROR 1364 (HY000): Field 'col' doesn't have a default value63 là cột ERROR 1364 (HY000): Field 'col' doesn't have a default value64. Điều đó có nghĩa là MySQL tạo ra một số nguyên tuần tự bất cứ khi nào một hàng được chèn vào bảng Các cột ERROR 1364 (HY000): Field 'col' doesn't have a default value65, ERROR 1364 (HY000): Field 'col' doesn't have a default value66 và ERROR 1364 (HY000): Field 'col' doesn't have a default value67 sử dụng ERROR 1364 (HY000): Field 'col' doesn't have a default value68 làm giá trị mặc định, do đó, MySQL sử dụng ERROR 1364 (HY000): Field 'col' doesn't have a default value69 để chèn vào các cột này nếu bạn không chỉ định giá trị của chúng trong câu lệnh 5 2) MySQL INSERT INTO table(c1,c2,...) VALUES (v11,v12,...), (v21,v22,...), ... (vnn,vn2,...);Code language: SQL (Structured Query Language) (sql)5 – Ví dụ về chèn hàng bằng giá trị mặc địnhNếu bạn muốn chèn một giá trị mặc định vào một cột, bạn có hai cách
Ví dụ sau minh họa cách thứ hai ERROR 1364 (HY000): Field 'col' doesn't have a default value6 Trong ví dụ này, chúng tôi đã chỉ định cột ERROR 1364 (HY000): Field 'col' doesn't have a default value62 và từ khóa ERROR 1364 (HY000): Field 'col' doesn't have a default value74 Vì giá trị mặc định cho cột ERROR 1364 (HY000): Field 'col' doesn't have a default value62 là 3 như được khai báo trong định nghĩa bảng ERROR 1364 (HY000): Field 'col' doesn't have a default value0 MySQL sử dụng số 3 để chèn vào cột ERROR 1364 (HY000): Field 'col' doesn't have a default value62 Câu lệnh sau trả về nội dung của bảng ERROR 1364 (HY000): Field 'col' doesn't have a default value54 sau khi chèn ERROR 1364 (HY000): Field 'col' doesn't have a default value0 3) MySQL INSERT INTO table(c1,c2,...) VALUES (v11,v12,...), (v21,v22,...), ... (vnn,vn2,...);Code language: SQL (Structured Query Language) (sql)5 – Ví dụ về chèn ngày vào bảngĐể chèn một giá trị ngày bằng chữ vào một cột, bạn sử dụng định dạng sau ERROR 1364 (HY000): Field 'col' doesn't have a default value5 ở định dạng này
Câu lệnh sau đây chèn một hàng mới vào bảng ERROR 1364 (HY000): Field 'col' doesn't have a default value54 với các giá trị ngày bắt đầu và ngày đáo hạn 0 Hình ảnh sau đây cho thấy nội dung của bảng ERROR 1364 (HY000): Field 'col' doesn't have a default value54 sau khi chèn Có thể sử dụng các biểu thức trong mệnh đề ERROR 1364 (HY000): Field 'col' doesn't have a default value50. Ví dụ: câu lệnh sau đây thêm một nhiệm vụ mới bằng cách sử dụng ngày hiện tại cho các cột ngày bắt đầu và ngày đến hạn 1 Trong ví dụ này, chúng tôi đã sử dụng hàm ERROR 1364 (HY000): Field 'col' doesn't have a default value08 làm giá trị cho cột ERROR 1364 (HY000): Field 'col' doesn't have a default value65 và ERROR 1364 (HY000): Field 'col' doesn't have a default value66. Lưu ý rằng hàm ERROR 1364 (HY000): Field 'col' doesn't have a default value61 là hàm ngày trả về ngày hệ thống hiện tại Đây là nội dung của bảng ERROR 1364 (HY000): Field 'col' doesn't have a default value54 sau khi chèn 4) MySQL INSERT INTO table(c1,c2,...) VALUES (v11,v12,...), (v21,v22,...), ... (vnn,vn2,...);Code language: SQL (Structured Query Language) (sql)5 – Ví dụ về chèn nhiều hàngCâu lệnh sau chèn ba hàng vào bảng ERROR 1364 (HY000): Field 'col' doesn't have a default value54 2 Trong ví dụ này, mỗi dữ liệu hàng được chỉ định dưới dạng danh sách các giá trị trong mệnh đề ERROR 1364 (HY000): Field 'col' doesn't have a default value50 MySQL trả về thông báo sau 3 Điều đó có nghĩa là ba hàng đã được chèn thành công mà không có hàng trùng lặp hoặc cảnh báo nào ERROR 1364 (HY000): Field 'col' doesn't have a default value0 Bảng ERROR 1364 (HY000): Field 'col' doesn't have a default value54 có dữ liệu sau Trong hướng dẫn này, bạn đã học cách sử dụng câu lệnh MySQL 5 để thêm một hoặc nhiều hàng vào một bảng |