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

MySQL INSERT mà không cần phải chỉ định mọi trường không phải là trường mặc định (# 1067 - Giá trị mặc định không hợp lệ cho 'bảng')

Theo mặc định, một trong các máy chủ của bạn đang chạy ở chế độ nghiêm ngặt và máy chủ kia thì không. # 1364 lỗi. Nếu không có chế độ nghiêm ngặt, giá trị NULL của bạn sẽ được thay thế bằng chuỗi trống hoặc 0.

Ví dụ:

CREATE TABLE `test_tbl` (
 `id` int(11) NOT NULL,
 `someint` int(11) NOT NULL,
 `sometext` varchar(255) NOT NULL,
 `somedate` datetime NOT NULL,
 PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

SET sql_mode = '';
INSERT INTO test_tbl(id) VALUES(1);
SELECT * FROM test_tbl;
+----+---------+----------+---------------------+
| id | someint | sometext | somedate            |
+----+---------+----------+---------------------+
|  1 |       0 |          | 0000-00-00 00:00:00 |
+----+---------+----------+---------------------+
SET sql_mode = 'STRICT_ALL_TABLES';
INSERT INTO test_tbl(id) VALUES(2);
#1364 - Field 'someint' doesn't have a default value 


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách lưu trữ html trong cơ sở dữ liệu mysql

  2. Wordpress kết hợp truy vấn

  3. Nhóm theo tháng và năm trong MySQL

  4. Cách đạt được phân vùng theo loại chức năng bằng cách sử dụng các biến trong MySQL 5.7

  5. Làm thế nào để khởi tạo vùng chứa mysql khi được tạo trên Kubernetes?