mysql數(shù)據(jù)庫(kù)怎么約束 mysql怎么設(shè)置約束

怎樣在MySQL中使用檢查約束?

這是一項(xiàng)新功能,用于指定在插入或更新到一行之前檢查值的條件。如果表的任何行的搜索條件的結(jié)果為 FALSE,則約束可能返回錯(cuò)誤(但如果結(jié)果為 UNKNOWN 或 TRUE,則約束不會(huì)返回錯(cuò)誤)。此功能開始在 MySQL 8.0.16 上運(yùn)行,在以前的版本中,我們可以創(chuàng)建它,但它不起作用,這意味著支持語法,但不起作用。要牢記的使用規(guī)則:

創(chuàng)新互聯(lián)公司-成都網(wǎng)站建設(shè)公司,專注成都網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)站營(yíng)銷推廣,主機(jī)域名,網(wǎng)頁空間,網(wǎng)站運(yùn)營(yíng)有關(guān)企業(yè)網(wǎng)站制作方案、改版、費(fèi)用等問題,請(qǐng)聯(lián)系創(chuàng)新互聯(lián)公司。

AUTO_INCREMENT 自增列不允許使用

引用另一個(gè)表中的另一列不允許使用

存儲(chǔ)的函數(shù)和用戶定義的函數(shù)不允許使用

存儲(chǔ)過程和函數(shù)參數(shù)不允許使用

子查詢不允許使用

在外鍵中用于后續(xù)操作(ON UPDATE,ON DELETE)的列不允許使用

為下一條語句 INSERT,UPDATE,REPLACE,LOAD DATA 和 LOAD XML 評(píng)估此次監(jiān)測(cè)。此外,還會(huì)為 INSERT IGNORE,UPDATE IGNORE,LOAD DATA…IGNORE 和 LOAD XML…IGNORE 評(píng)估此監(jiān)測(cè)約束。對(duì)于這些語句,如果約束的評(píng)估結(jié)果為 FALSE,則會(huì)發(fā)生警告。插入或更新被跳過。

我們可以使用此功能在表中添加更多的邏輯,但是根據(jù)我以前作為程序員的經(jīng)驗(yàn),我不建議在表中添加邏輯,因?yàn)槌悄鸁o法訪問應(yīng)用程序代碼,否則很難找到或調(diào)試錯(cuò)誤。

如何在MySQL中設(shè)置外鍵約束以及外鍵的作用

1.外鍵的作用,主要有兩個(gè):

一個(gè)是讓數(shù)據(jù)庫(kù)自己通過外鍵來保證數(shù)據(jù)的完整性和一致性

一個(gè)就是能夠增加ER圖的可讀性

2.外鍵的配置

1)先創(chuàng)建一個(gè)主表,代碼如下:

#創(chuàng)建表student,并添加各種約束

create

table

student

(

id

int

primary

key

,

#主鍵約束

name

varchar(20)

,

#唯一約束

age

int

NOT

NULL,

#非空約束

sex

varchar(2)

,

address

varchar(20)

default

'重慶'

#默認(rèn)約束

)

;

再通過一個(gè)外鍵,創(chuàng)建一個(gè)分?jǐn)?shù)表,這樣的話,就可以方便查詢。代碼如下:

#創(chuàng)建分?jǐn)?shù)表

create

table

score

(

id

int

primary

key

,

sid

int

,

china

int

,

history

int,

english

int,

constraint

FK_sid

foreign

key(sid)

references

student(id)

#通過外鍵創(chuàng)建鏈接

)

;

創(chuàng)建外鍵的方法有很多,其中最常見創(chuàng)建外鍵的格式是:constraint

FK_***

foreign

key(**)

references

鏈接的外表

刪除外鍵:

alter

table

drop

foreign

key

'外鍵名'.

注意:

只有在定義外鍵時(shí),用constraint

外鍵名

foreign

key

....

方便進(jìn)行外鍵的刪除

MYsql 怎么約束列的取值范圍

這是一項(xiàng)新功能,用于指定在插入或更新到一行之前檢查值的條件。如果表的任何行的搜索條件的結(jié)果為 FALSE,則約束可能返回錯(cuò)誤(但如果結(jié)果為 UNKNOWN 或 TRUE,則約束不會(huì)返回錯(cuò)誤)。此功能開始在 MySQL 8.0.16 上運(yùn)行,在以前的版本中,我們可以創(chuàng)建它,但它不起作用,這意味著支持語法,但不起作用。要牢記的使用規(guī)則:

AUTO_INCREMENT 自增列不允許使用

引用另一個(gè)表中的另一列不允許使用

存儲(chǔ)的函數(shù)和用戶定義的函數(shù)不允許使用

存儲(chǔ)過程和函數(shù)參數(shù)不允許使用

子查詢不允許使用

在外鍵中用于后續(xù)操作(ON UPDATE,ON DELETE)的列不允許使用

為下一條語句 INSERT,UPDATE,REPLACE,LOAD DATA 和 LOAD XML 評(píng)估此次監(jiān)測(cè)。此外,還會(huì)為 INSERT IGNORE,UPDATE IGNORE,LOAD DATA…IGNORE 和 LOAD XML…IGNORE 評(píng)估此監(jiān)測(cè)約束。對(duì)于這些語句,如果約束的評(píng)估結(jié)果為 FALSE,則會(huì)發(fā)生警告。插入或更新被跳過。

我們可以使用此功能在表中添加更多的邏輯,但是根據(jù)我以前作為程序員的經(jīng)驗(yàn),我不建議在表中添加邏輯,因?yàn)槌悄鸁o法訪問應(yīng)用程序代碼,否則很難找到或調(diào)試錯(cuò)誤。

網(wǎng)頁名稱:mysql數(shù)據(jù)庫(kù)怎么約束 mysql怎么設(shè)置約束
文章來源:http://muchs.cn/article34/doejcse.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、軟件開發(fā)商城網(wǎng)站、面包屑導(dǎo)航企業(yè)建站、網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司