PostgreSQL

Ràng buộc DEFAULT – Đặt giá trị mặc định cho cột của bảng

Ràng buộc DEFAULT - Đặt giá trị mặc định cho cột của bảng
Được viết bởi Minh Hoàng

Series chia sẻ về PostgreSQL – Cơ sở dữ liệu mã nguồn mở tiên tiến nhất thế giới.

Bạn có thể đặt giá trị mặc định cho giá trị của một cột bằng cách thêm ràng buộc DEFAULT vào cột khi tạo bảng. Khi thêm dữ liệu vào bảng, nếu bạn không chỉ định giá trị cho cột thì giá trị mặc định đó sẽ được lưu trữ thay thế.

Bài viết này sẽ giải thích cách sử dụng ràng buộc DEFAULT trong PostgreSQL.

Cú pháp lệnh:

CREATE TABLE [ IF NOT EXISTS ] table_name (
  column_name data_type DEFAULT default_expr [, ... ]
)

Khi thêm dữ liệu, giá trị mặc định được chỉ định bằng DEFAULT sẽ được lưu trữ nếu không có giá trị nào được chỉ định cho cột. Nó có thể là NULL nếu không có ràng buộc DEFAULT nào được đặt trên cột.

Giá trị mặc định được chỉ định bằng DEFAULT có thể là một hằng số, cũng có thể là một biểu thức.

Chúng ta sẽ tạo bảng myfriends trong lược đồ myschema của cơ sở dữ liệu sampledata:

CREATE TABLE myschema.myfriends (
  id integer DEFAULT 0, 
  name varchar(10) DEFAULT 'Unknown'
);

Ràng buộc DEFAULT - Đặt giá trị mặc định cho cột của bảng (1)

Lấy thông tin cột của bảng myfriends đã tạo bằng lệnh \d

\d myschema.myfriends

Ràng buộc DEFAULT - Đặt giá trị mặc định cho cột của bảng (2)

Ở cột「デフォルト」(Default) giá trị của cột id mặc định là 0, và giá trị của cột name mặc định là ‘Unknown’::character varying

Xem thêm: Cách lấy danh sách các cột có trong bảng

Trước tiên, thử thêm dữ liệu bằng cách chỉ định giá trị cho cả cột idname:

INSERT INTO myschema.myfriends VALUES (1,'Minh Hoang');

Ràng buộc DEFAULT - Đặt giá trị mặc định cho cột của bảng (3)

Khi dữ liệu được thêm bằng cách chỉ định rõ ràng giá trị 1,’Minh Hoang’ trong cột thì giá trị đã chỉ định sẽ được lưu trữ bất kể giá trị mặc định là bao nhiêu.

Tiếp theo, thử thêm dữ liệu bằng cách chỉ chỉ định giá trị cho cột id:

INSERT INTO myschema.myfriends(id) VALUES (2);

Ràng buộc DEFAULT - Đặt giá trị mặc định cho cột của bảng (4)

Vì chúng ta không chỉ định giá trị cho cột name, nên khi thêm dữ liệu nó sẽ chứa giá trị mặc định là Unknown

Tiếp theo, thử thêm dữ liệu bằng cách chỉ chỉ định giá trị cho cột name:

INSERT INTO myschema.myfriends(name) VALUES ('minhhn.com');

Ràng buộc DEFAULT - Đặt giá trị mặc định cho cột của bảng (5)

Vì chúng ta không chỉ định giá trị cho cột id, nên khi thêm dữ liệu nó sẽ chứa giá trị mặc định là 0

Đặt ràng buộc DEFAULT trên một cột theo cách này đảm bảo rằng nếu một giá trị không được chỉ định cho cột khi thêm dữ liệu, thì giá trị mặc định được chỉ định (thay vì NULL) sẽ được lưu trữ thay thế.

Cảm ơn bạn đã theo dõi. Đừng ngần ngại hãy cùng thảo luận với chúng tôi!

Giới thiệu

Minh Hoàng

Xin chào, tôi là Hoàng Ngọc Minh, hiện đang làm BrSE, tại công ty Toyota, Nhật Bản. Những gì tôi viết trên blog này là những trải nghiệm thực tế tôi đã đúc rút ra được trong cuộc sống, quá trình học tập và làm việc. Các bài viết được biên tập một cách chi tiết, linh hoạt để giúp bạn đọc có thể tiếp cận một cách dễ dàng nhất. Hi vọng nó sẽ có ích hoặc mang lại một góc nhìn khác cho bạn[...]

Translate »