Tôi đã tạo ra một bảng với một giá trị mặc định cột male
Chèn vào bảng với một giá trị mặc định cột
CREATE TABLE Persons
(name varchar(20),
age int,
sex varchar(5) default 'male')
Chèn tuyên bố # 1:
INSERT INTO Persons values('Bob', 20)
Chèn tuyên bố # 2:
INSERT INTO Persons(name,sex) values('Bob', 20)
Khi tôi cố gắng chèn các giá trị vào bảng Persons
bằng cách sử dụng câu lệnh chèn # 1 , Tôi nhận được lỗi hiển thị dưới tên cột
hoặc số của các giá trị cung cấp không khớp với định nghĩa bảng
Nhưng khi tôi chèn vào Persons
sử dụng tuyên bố # 2, nó thực hiện thành công.
Xin vui lòng giải thích tại sao điều này xảy ra?
True - làm việc này - nhưng tôi vẫn nghĩ rằng nó thích hợp hơn để dứt khoát nói ra danh sách các cột bạn đang chèn vào. Điều này sẽ phá vỡ ngay sau khi ai đó thêm một cột thứ tư vào bảng ... –
@corretge Cảm ơn bạn đã tip :) –
có @marc_s, luôn luôn thích hợp hơn là kiểm soát dữ liệu mà chúng tôi đang chèn. Tôi thêm vào câu trả lời cho mệnh đề DEFAULT chỉ khi bạn quan tâm không giải thích tất cả các trường. – corretge