Một ràng buộc trong MySQL đưa ra 2 ví dụ là gì?

là các yêu cầu do người dùng xác định xác định giá trị nào hợp lệ cho một cột hoặc bảng. Bạn có thể coi chúng là những hạn chế bổ sung để thu hẹp các giá trị được chấp nhận nghiêm ngặt hơn so với các loại dữ liệu cho phép

Các ràng buộc cho phép bạn xác định chất lượng mà tất cả các mục phải có, với chính máy chủ thực thi các hạn chế khi nhập hoặc cập nhật dữ liệu. Ví dụ, có thể không hợp lý khi một cột biểu thị điểm sôi của các chất khác nhau thấp hơn điểm đóng băng của nó. Một ràng buộc có thể thực thi loại yêu cầu này, mặc dù các loại sẽ không thể

Trường hợp các ràng buộc được xác định. cột so với ràng buộc bảng

MySQL cho phép bạn tạo các ràng buộc liên kết với một cột cụ thể hoặc với một bảng nói chung

Hầu như tất cả các ràng buộc có thể được sử dụng ở cả hai dạng mà không cần sửa đổi

ConstraintColumnTableCHECKYesYesNOT NULLYesNo*UNIQUEYesYesPRIMARY KEYYesYesFOREIGN KEYNoYes

*.

ERROR 3819 [HY000]: Check constraint 'qualified_borrowers_chk_1' is violated.

3 không thể được sử dụng làm ràng buộc bảng. Tuy nhiên, bạn có thể tính gần đúng kết quả bằng cách sử dụng

ERROR 3819 [HY000]: Check constraint 'qualified_borrowers_chk_1' is violated.

4 làm câu lệnh trong ràng buộc bảng

ERROR 3819 [HY000]: Check constraint 'qualified_borrowers_chk_1' is violated.

5

Hãy xem các ràng buộc cột và bảng khác nhau như thế nào

Ràng buộc cột

Các ràng buộc cột là các ràng buộc gắn liền với một. Chúng được sử dụng để xác định xem một giá trị được đề xuất cho một cột có hợp lệ hay không. Các ràng buộc cột được đánh giá sau khi đầu vào được xác thực theo các yêu cầu loại cơ bản [chẳng hạn như đảm bảo giá trị là một số nguyên cho cột

ERROR 3819 [HY000]: Check constraint 'qualified_borrowers_chk_1' is violated.

6]

Ràng buộc cột là tuyệt vời để thể hiện các yêu cầu được giới hạn trong một trường duy nhất. Họ đính kèm điều kiện ràng buộc trực tiếp vào cột liên quan. Chẳng hạn, chúng ta có thể lập mô hình hạn chế

ERROR 3819 [HY000]: Check constraint 'qualified_borrowers_chk_1' is violated.

7 trong bảng

ERROR 3819 [HY000]: Check constraint 'qualified_borrowers_chk_1' is violated.

8 bằng cách thêm một ràng buộc sau tên cột và kiểu dữ liệu

CREATE TABLE person [

. . .

age INT CHECK [age >= 0],

. . .

];

Đoạn mã này định nghĩa một bảng

ERROR 3819 [HY000]: Check constraint 'qualified_borrowers_chk_1' is violated.

8 với một trong các cột là một

ERROR 3819 [HY000]: Check constraint 'qualified_borrowers_chk_1' is violated.

6 được gọi là

ERROR 3819 [HY000]: Check constraint 'qualified_borrowers_chk_1' is violated.

7.

ERROR 3819 [HY000]: Check constraint 'qualified_borrowers_chk_1' is violated.

7 phải lớn hơn hoặc bằng 0. Ràng buộc cột rất dễ hiểu vì chúng được thêm dưới dạng yêu cầu bổ sung vào cột mà chúng ảnh hưởng

Ràng buộc bảng

Loại ràng buộc khác được gọi là ràng buộc bảng. ràng buộc có thể biểu thị hầu hết mọi hạn chế mà ràng buộc cột có thể, nhưng có thể biểu thị thêm các hạn chế liên quan đến nhiều cột. Thay vì được gắn vào một cột cụ thể, các ràng buộc bảng được định nghĩa là một thành phần riêng biệt của bảng và có thể tham chiếu đến bất kỳ cột nào của bảng

Ràng buộc cột mà chúng ta đã thấy trước đó có thể được thể hiện dưới dạng ràng buộc bảng như thế này

CREATE TABLE person [

. . .

age INT,

. . .

CHECK [age >= 0]

];

Cú pháp cơ bản giống nhau được sử dụng, nhưng ràng buộc được liệt kê riêng. Để tận dụng khả năng của các ràng buộc bảng để đưa ra các hạn chế phức hợp, chúng ta có thể sử dụng toán tử logic

CONSTRAINT

3 để nối nhiều điều kiện từ các cột khác nhau

Ví dụ: trong cơ sở dữ liệu ngân hàng, một bảng có tên

CONSTRAINT

4 có thể cần kiểm tra xem các cá nhân có tài khoản hiện tại hay không và khả năng cung cấp tài sản thế chấp để đủ điều kiện vay. Có thể hợp lý khi bao gồm cả hai điều này trong cùng một lần kiểm tra

CREATE TABLE qualified_borrowers [

. . .

account_number INT,

acceptable_collateral BOOLEAN,

. . .

CHECK [account_number IS NOT NULL AND acceptable_collateral = true]

];

Ở đây, chúng ta sử dụng ràng buộc

ERROR 3819 [HY000]: Check constraint 'qualified_borrowers_chk_1' is violated.

5 một lần nữa để kiểm tra xem

CONSTRAINT

6 có vô hiệu hay không và nhân viên cho vay đã đánh dấu khách hàng là người có tài sản thế chấp chấp nhận được bằng cách đánh dấu vào cột

CONSTRAINT

7. Một ràng buộc bảng là cần thiết vì nhiều cột đang được kiểm tra

Bây giờ là thời điểm tốt để đề cập rằng mặc dù chủ yếu chúng ta sẽ sử dụng lệnh SQL

CONSTRAINT

8 trong các ví dụ này để tạo một bảng mới, nhưng bạn cũng có thể thêm các ràng buộc vào một bảng hiện có với

CONSTRAINT

9. Khi sử dụng

CONSTRAINT

9, các ràng buộc mới khiến các giá trị hiện có trong bảng được kiểm tra theo ràng buộc mới. Nếu các giá trị vi phạm ràng buộc, ràng buộc không thể được thêm vào

Tạo tên cho các ràng buộc

Tên ràng buộc mặc định

Khi bạn tạo các ràng buộc bằng cú pháp trên, MySQL sẽ tự động chọn một tên hợp lý, nhưng mơ hồ. Trong trường hợp của bảng

CONSTRAINT

4 ở trên, MySQL sẽ đặt tên cho ràng buộc là

CREATE TABLE qualified_borrowers [

. . .

account_number INT,

acceptable_collateral BOOLEAN,

. . .

CONSTRAINT loan_worthiness CHECK [account_number IS NOT NULL AND acceptable_collateral = true]

];

2

INSERT INTO qualified_borrowers VALUES [123, false];

ERROR 3819 [HY000]: Check constraint 'qualified_borrowers_chk_1' is violated.

Tên này cung cấp cho bạn thông tin về bảng và loại ràng buộc khi một ràng buộc bị vi phạm. Tuy nhiên, trong trường hợp có nhiều ràng buộc trên một bảng, tên mô tả nhiều hơn sẽ hữu ích để giúp khắc phục sự cố

Tên ràng buộc tùy chỉnh

Bạn có thể tùy ý chỉ định tên cho các ràng buộc của mình bằng cách đặt trước định nghĩa ràng buộc bằng từ khóa

CREATE TABLE qualified_borrowers [

. . .

account_number INT,

acceptable_collateral BOOLEAN,

. . .

CONSTRAINT loan_worthiness CHECK [account_number IS NOT NULL AND acceptable_collateral = true]

];

3 theo sau là tên

Cú pháp cơ bản để thêm một tên tùy chỉnh là thế này

CONSTRAINT

Ví dụ: nếu bạn muốn đặt tên cho ràng buộc trong bảng

CONSTRAINT

4 là

CREATE TABLE qualified_borrowers [

. . .

account_number INT,

acceptable_collateral BOOLEAN,

. . .

CONSTRAINT loan_worthiness CHECK [account_number IS NOT NULL AND acceptable_collateral = true]

];

5, thay vào đó, bạn có thể định nghĩa bảng như sau

CREATE TABLE qualified_borrowers [

. . .

account_number INT,

acceptable_collateral BOOLEAN,

. . .

CONSTRAINT loan_worthiness CHECK [account_number IS NOT NULL AND acceptable_collateral = true]

];

Bây giờ, khi chúng tôi vi phạm một ràng buộc, chúng tôi sẽ nhận được nhãn mô tả hơn

INSERT INTO qualified_borrowers VALUES [123, false];

ERROR 3819 [HY000]: Check constraint 'loan_worthiness' is violated.

Bạn có thể đặt tên cho các ràng buộc cột theo cách tương tự

CREATE TABLE teenagers [

. . .

age INT CONSTRAINT is_teenager CHECK [age >= 13 AND age = 0]

];

0

Chúng tôi có hạn chế kiểm tra một cột để kiểm tra xem

CREATE TABLE qualified_borrowers [

. . .

account_number INT,

acceptable_collateral BOOLEAN,

. . .

CONSTRAINT loan_worthiness CHECK [account_number IS NOT NULL AND acceptable_collateral = true]

];

8 có trong năm 2019 không. Sau đó, chúng tôi có một ràng buộc kiểm tra bảng để đảm bảo rằng bộ phim đã nhận đủ phiếu bầu để được đề cử và độ dài đủ điều kiện cho hạng mục "độ dài phim"

Khi đánh giá các ràng buộc kiểm tra, các giá trị chấp nhận được đánh giá là đúng. Nếu các giá trị của bản ghi mới đáp ứng tất cả các yêu cầu và ràng buộc về loại, thì bản ghi sẽ được thêm vào bảng

CREATE TABLE person [

. . .

age INT,

. . .

CHECK [age >= 0]

];

1

CREATE TABLE person [

. . .

age INT,

. . .

CHECK [age >= 0]

];

2

Các giá trị đánh giá sai tạo ra lỗi cho biết rằng ràng buộc không được thỏa mãn

CREATE TABLE person [

. . .

age INT,

. . .

CHECK [age >= 0]

];

3

CREATE TABLE person [

. . .

age INT,

. . .

CHECK [age >= 0]

];

4

Trong trường hợp này, bộ phim đã thỏa mãn mọi điều kiện ngoại trừ số phiếu yêu cầu. MySQL từ chối đệ trình vì nó không vượt qua ràng buộc kiểm tra bảng cuối cùng

Không ràng buộc null

Ràng buộc

ERROR 3819 [HY000]: Check constraint 'qualified_borrowers_chk_1' is violated.

3 tập trung hơn nhiều. Nó đảm bảo rằng các giá trị trong một cột không phải là null. Trong khi đây là một hạn chế đơn giản, nó được sử dụng rất thường xuyên

Cách thêm các ràng buộc không null trong MySQL

Để đánh dấu một cột là yêu cầu một giá trị khác null, hãy thêm

ERROR 3819 [HY000]: Check constraint 'qualified_borrowers_chk_1' is violated.

3 sau phần khai báo kiểu

CREATE TABLE person [

. . .

age INT,

. . .

CHECK [age >= 0]

];

5

Trong ví dụ trên, chúng ta có một bảng hai cột đơn giản ánh xạ các quốc gia tới thủ đô quốc gia của họ. Vì cả hai trường này đều là các trường bắt buộc nên để trống sẽ không hợp lý, nên chúng tôi thêm ràng buộc

ERROR 3819 [HY000]: Check constraint 'qualified_borrowers_chk_1' is violated.

3

Chèn một giá trị null bây giờ dẫn đến một lỗi

CREATE TABLE person [

. . .

age INT,

. . .

CHECK [age >= 0]

];

6_______11_______7

Ràng buộc

ERROR 3819 [HY000]: Check constraint 'qualified_borrowers_chk_1' is violated.

3 chỉ có chức năng như một ràng buộc cột [nó không thể được sử dụng như một ràng buộc bảng]. Tuy nhiên, bạn có thể dễ dàng giải quyết vấn đề này bằng cách sử dụng ràng buộc

ERROR 3819 [HY000]: Check constraint 'qualified_borrowers_chk_1' is violated.

4 trong bảng

ERROR 3819 [HY000]: Check constraint 'qualified_borrowers_chk_1' is violated.

5

Ví dụ: điều này cung cấp các đảm bảo tương đương bằng cách sử dụng ràng buộc bảng

CREATE TABLE person [

. . .

age INT,

. . .

CHECK [age >= 0]

];

8

LIÊN QUAN ĐẾN PRISMA. IO

Khi làm việc với Prisma Client, bạn có thể kiểm soát xem mỗi trường có nhận chức năng tương đương với ràng buộc

ERROR 3819 [HY000]: Check constraint 'qualified_borrowers_chk_1' is violated.

3 trong PostgreSQL hay không

Prisma là bộ công cụ cơ sở dữ liệu mã nguồn mở dành cho Typescript và Node. js nhằm mục đích giúp các nhà phát triển ứng dụng làm việc hiệu quả và tự tin hơn khi làm việc với cơ sở dữ liệu

ràng buộc duy nhất

Ràng buộc

INSERT INTO qualified_borrowers VALUES [123, false];

6 cho MySQL biết rằng mỗi giá trị trong một cột không được lặp lại. Điều này hữu ích trong nhiều tình huống khác nhau khi không thể có cùng một giá trị trong nhiều bản ghi

Ví dụ: theo định nghĩa, các cột liên quan đến ID thuộc bất kỳ loại nào phải có các giá trị duy nhất. Số an sinh xã hội, ID sinh viên hoặc khách hàng hoặc UPC sản phẩm [số mã vạch] sẽ vô dụng nếu chúng không thể phân biệt giữa những người hoặc vật phẩm cụ thể

Một ràng buộc

INSERT INTO qualified_borrowers VALUES [123, false];

6 có thể được chỉ định ở cấp độ cột

CREATE TABLE person [

. . .

age INT,

. . .

CHECK [age >= 0]

];

9

Chúng cũng có thể được chỉ định dưới dạng ràng buộc bảng

CREATE TABLE qualified_borrowers [

. . .

account_number INT,

acceptable_collateral BOOLEAN,

. . .

CHECK [account_number IS NOT NULL AND acceptable_collateral = true]

];

0

Một trong những ưu điểm của việc sử dụng ràng buộc bảng

INSERT INTO qualified_borrowers VALUES [123, false];

6 là nó cho phép bạn thực hiện kiểm tra tính duy nhất trên tổ hợp các cột. Điều này hoạt động bằng cách chỉ định hai hoặc nhiều cột mà MySQL sẽ đánh giá cùng nhau. Các giá trị trong các cột riêng lẻ có thể lặp lại nhưng sự kết hợp của các giá trị được chỉ định phải là duy nhất

Ví dụ, hãy nhìn lại bảng

INSERT INTO qualified_borrowers VALUES [123, false];

9 mà chúng ta đã sử dụng trước đây

CREATE TABLE qualified_borrowers [

. . .

account_number INT,

acceptable_collateral BOOLEAN,

. . .

CHECK [account_number IS NOT NULL AND acceptable_collateral = true]

];

1

Nếu chúng tôi muốn đảm bảo rằng chúng tôi không thêm nhiều bản ghi cho cùng một cặp, chúng tôi có thể thêm các ràng buộc

INSERT INTO qualified_borrowers VALUES [123, false];

6 vào các cột tại đây

CREATE TABLE qualified_borrowers [

. . .

account_number INT,

acceptable_collateral BOOLEAN,

. . .

CHECK [account_number IS NOT NULL AND acceptable_collateral = true]

];

2

Điều này sẽ đảm bảo rằng cả quốc gia và thủ đô chỉ có mặt một lần trong mỗi bảng. Tuy nhiên, một số quốc gia có nhiều thủ đô. Điều này có nghĩa là chúng tôi có thể có nhiều mục có cùng giá trị

ERROR 3819 [HY000]: Check constraint 'loan_worthiness' is violated.

1. Chúng sẽ không hoạt động với thiết kế hiện tại

CREATE TABLE qualified_borrowers [

. . .

account_number INT,

acceptable_collateral BOOLEAN,

. . .

CHECK [account_number IS NOT NULL AND acceptable_collateral = true]

];

3

CREATE TABLE qualified_borrowers [

. . .

account_number INT,

acceptable_collateral BOOLEAN,

. . .

CHECK [account_number IS NOT NULL AND acceptable_collateral = true]

];

4

Nếu chúng tôi vẫn muốn đảm bảo rằng chúng tôi không kết thúc với các mục nhập trùng lặp trong khi vẫn cho phép các giá trị lặp lại trong các cột riêng lẻ, thì chỉ cần kiểm tra duy nhất sự kết hợp của

ERROR 3819 [HY000]: Check constraint 'loan_worthiness' is violated.

1 và

ERROR 3819 [HY000]: Check constraint 'loan_worthiness' is violated.

3

CREATE TABLE qualified_borrowers [

. . .

account_number INT,

acceptable_collateral BOOLEAN,

. . .

CHECK [account_number IS NOT NULL AND acceptable_collateral = true]

];

5

Bây giờ, chúng ta có thể thêm cả hai thủ đô của Bolivia vào bảng mà không gặp lỗi

CREATE TABLE qualified_borrowers [

. . .

account_number INT,

acceptable_collateral BOOLEAN,

. . .

CHECK [account_number IS NOT NULL AND acceptable_collateral = true]

];

3

CREATE TABLE qualified_borrowers [

. . .

account_number INT,

acceptable_collateral BOOLEAN,

. . .

CHECK [account_number IS NOT NULL AND acceptable_collateral = true]

];

7

Tuy nhiên, cố gắng thêm cùng một kết hợp hai lần vẫn bị ràng buộc

CREATE TABLE qualified_borrowers [

. . .

account_number INT,

acceptable_collateral BOOLEAN,

. . .

CHECK [account_number IS NOT NULL AND acceptable_collateral = true]

];

8

CREATE TABLE qualified_borrowers [

. . .

account_number INT,

acceptable_collateral BOOLEAN,

. . .

CHECK [account_number IS NOT NULL AND acceptable_collateral = true]

];

9

Ràng buộc khóa chính

Các ràng buộc phục vụ một mục đích đặc biệt. Nó chỉ ra rằng cột có thể được sử dụng để xác định duy nhất một bản ghi trong bảng. Điều này có nghĩa là nó phải là duy nhất đáng tin cậy và mỗi bản ghi phải có một giá trị trong cột đó

Khóa chính được khuyến nghị cho mọi bảng nhưng không bắt buộc và mỗi bảng chỉ có thể có một khóa chính. Khóa chính được sử dụng chủ yếu để xác định, truy xuất, sửa đổi hoặc xóa các bản ghi riêng lẻ trong một bảng. Chúng cho phép người dùng và quản trị viên nhắm mục tiêu hoạt động bằng cách sử dụng mã định danh được MySQL đảm bảo khớp chính xác với một bản ghi

Hãy sử dụng bảng

ERROR 3819 [HY000]: Check constraint 'loan_worthiness' is violated.

5 mà chúng ta đã thấy trước đây làm ví dụ

CREATE TABLE person [

. . .

age INT,

. . .

CHECK [age >= 0]

];

9

Ở đây, chúng tôi đã xác định rằng

ERROR 3819 [HY000]: Check constraint 'loan_worthiness' is violated.

6 phải là duy nhất. Nếu chúng tôi muốn sử dụng cột này làm khóa chính [đảm bảo tính duy nhất và giá trị khác null], chúng tôi chỉ cần thay đổi ràng buộc

INSERT INTO qualified_borrowers VALUES [123, false];

6 thành

ERROR 3819 [HY000]: Check constraint 'loan_worthiness' is violated.

4

INSERT INTO qualified_borrowers VALUES [123, false];

1

Bằng cách này, nếu chúng tôi cần cập nhật số lượng hàng tồn kho cho một nguồn cung cấp cụ thể, chúng tôi có thể nhắm mục tiêu nguồn cung cấp đó bằng khóa chính

INSERT INTO qualified_borrowers VALUES [123, false];

2______23_______3

Mặc dù nhiều bảng sử dụng một cột duy nhất làm khóa chính, nhưng cũng có thể tạo khóa chính bằng cách sử dụng một tập hợp các cột làm ràng buộc bảng

Bảng

INSERT INTO qualified_borrowers VALUES [123, false];

9 là một ứng cử viên sáng giá để chứng minh điều này. Nếu chúng ta muốn tạo khóa chính bằng cách sử dụng các cột hiện có, chúng ta có thể thay thế ràng buộc bảng

INSERT INTO qualified_borrowers VALUES [123, false];

6 bằng

ERROR 3819 [HY000]: Check constraint 'loan_worthiness' is violated.

4

INSERT INTO qualified_borrowers VALUES [123, false];

4

Ràng buộc khóa ngoại

là các cột trong một bảng tham chiếu các giá trị cột trong một bảng khác. Điều này là mong muốn và thường cần thiết trong nhiều tình huống trong đó các bảng chứa dữ liệu liên quan. Khả năng này để cơ sở dữ liệu dễ dàng kết nối và tham chiếu dữ liệu được lưu trữ trong các bảng riêng biệt là một trong những tính năng chính của cơ sở dữ liệu quan hệ

Ví dụ: bạn có thể có một bảng

CREATE TABLE teenagers [

. . .

age INT CONSTRAINT is_teenager CHECK [age >= 13 AND age = 13 AND age = 13 AND age = 13 AND age = 13 AND age = 13 AND age = 13 AND age = 13 AND age = 0]

];

01 trong bảng

CREATE TABLE teenagers [

. . .

age INT CONSTRAINT is_teenager CHECK [age >= 13 AND age = 0]

];

01 trong bảng

CREATE TABLE teenagers [

. . .

age INT CONSTRAINT is_teenager CHECK [age >= 13 AND age = 0]

];

05, viết tắt của

CREATE TABLE person [

. . .

age INT,

. . .

CHECK [age >= 0]

];

06, vì vậy chúng tôi có thể sử dụng ____11_______07 làm kiểu dữ liệu của chúng tôi cho cột

CREATE TABLE teenagers [

. . .

age INT CONSTRAINT is_teenager CHECK [age >= 13 AND age = 13 AND age = 13 AND age = 13 AND age = 13 AND age = 13 AND age = 13 AND age = 13 AND age = 13 AND age = 13 AND age = 13 AND age = 13 AND age = 0]

];

20, nhưng trong MySQL, điều này tương đương với

CREATE TABLE person [

. . .

age INT,

. . .

CHECK [age >= 0]

];

21. Hệ thống sẽ từ chối yêu cầu cập nhật hoặc xóa
  • ĐẶT NULL. Tùy chọn này yêu cầu MySQL đặt các cột tham chiếu thành

    CREATE TABLE person [

    . . .

    age INT,

    . . .

    CHECK [age >= 0]

    ];

    22 khi các bản ghi được tham chiếu bị xóa. Vì vậy, nếu chúng tôi xóa một khách hàng khỏi bảng

    CREATE TABLE teenagers [

    . . .

    age INT CONSTRAINT is_teenager CHECK [age >= 13 AND age = 13 AND age = 13 AND age = 0]

    ];

    22
  • ĐẶT MẶC ĐỊNH. Mặc dù một số hệ thống cơ sở dữ liệu khác cho phép bạn đặt cột thành giá trị mặc định trong trường hợp xóa hoặc cập nhật tham chiếu, MySQL thực tế không cho phép hành động này và sẽ không cho phép bạn xác định bảng bằng tùy chọn này
  • Những hành động này có thể được chỉ định khi xác định ràng buộc khóa ngoại bằng cách thêm

    CREATE TABLE person [

    . . .

    age INT,

    . . .

    CHECK [age >= 0]

    ];

    27 theo sau là hành động. Vì vậy, nếu chúng tôi muốn xóa các đơn đặt hàng được liên kết khỏi hệ thống của mình khi một khách hàng bị xóa, chúng tôi có thể chỉ định như thế này

    ERROR 3819 [HY000]: Check constraint 'qualified_borrowers_chk_1' is violated.

    2

    Những loại hành động này cũng có thể được áp dụng khi cập nhật một cột được tham chiếu thay vì xóa một cột bằng cách sử dụng

    CREATE TABLE person [

    . . .

    age INT,

    . . .

    CHECK [age >= 0]

    ];

    28 thay vì

    CREATE TABLE person [

    . . .

    age INT,

    . . .

    CHECK [age >= 0]

    ];

    27

    Phần kết luận

    Trong hướng dẫn này, chúng tôi đã đề cập đến các ràng buộc là gì và cách chúng có thể giúp bạn kiểm soát dữ liệu được nhập vào các bảng MySQL của bạn. Chúng tôi đã thảo luận về sự khác biệt giữa các ràng buộc cột và bảng và tính linh hoạt gia tăng được cung cấp bằng cách sử dụng định dạng bảng. Sau đó, chúng tôi đã xem xét những ràng buộc mà MySQL hỗ trợ và cách sử dụng chúng trong các bảng của bạn

    Các ràng buộc giúp bạn xác định các yêu cầu chính xác của các cột trong bảng và do đó, chúng không thể thiếu trong nhiều tình huống. Hiểu cách thức hoạt động của các ràng buộc khác nhau và những kịch bản mà chúng giúp bạn ngăn chặn sẽ giúp ích rất nhiều trong việc đảm bảo rằng dữ liệu của bạn tuân thủ các tiêu chuẩn mà bạn yêu cầu. Sau khi được xác định, MySQL có thể giúp bạn tự động thực thi các ràng buộc để ngăn chặn sự cố trước khi chúng xảy ra

    Ví dụ về ràng buộc cơ sở dữ liệu là gì?

    Trong một bảng cơ sở dữ liệu, chúng ta có thể thêm các quy tắc vào một cột được gọi là các ràng buộc. Các quy tắc này kiểm soát dữ liệu có thể được lưu trữ trong một cột . Ví dụ: nếu một cột có ràng buộc NOT NULL, điều đó có nghĩa là cột đó không thể lưu trữ giá trị NULL. Các ràng buộc được sử dụng trong SQL là. Hạn chế.

    Hai loại ràng buộc trong SQL là gì?

    Các ràng buộc có thể là cấp độ cột hoặc cấp độ bảng . Ràng buộc cấp độ cột áp dụng cho một cột và ràng buộc cấp độ bảng áp dụng cho toàn bộ bảng.

    Chúng ta có thể sử dụng 2 ràng buộc trong SQL không?

    Nó có thể chấp nhận một giá trị NULL trong cột khóa duy nhất. Một bảng chỉ có thể có một ràng buộc PRIMARY KEY. Bạn có thể tạo nhiều ràng buộc UNIQUE KEY trong SQL Server .

    Các ràng buộc tên tất cả các ràng buộc 2 là gì?

    Các loại ràng buộc khác nhau là. .
    Hạn chế duy nhất
    Ràng buộc khóa chính
    Ràng buộc mặc định
    Kiểm tra ràng buộc
    Ràng buộc bảng

    Chủ Đề