mysql怎么查約束 sql如何查看約束

MySQL怎么查看約束的別名

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

成都創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務領域包括:做網(wǎng)站、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務,滿足客戶于互聯(lián)網(wǎng)時代的涇川網(wǎng)站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡建設合作伙伴!

AUTO_INCREMENT 自增列不允許使用

引用另一個表中的另一列不允許使用

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

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

子查詢不允許使用

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

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

我們可以使用此功能在表中添加更多的邏輯,但是根據(jù)我以前作為程序員的經(jīng)驗,我不建議在表中添加邏輯,因為除非您無法訪問應用程序代碼,否則很難找到或調試錯誤。

關于MySQL的檢查約束不生效的問題

在使用MySQL的檢查(check)約束時,向表中插入不符合約束條件的數(shù)據(jù)行時,也能插入成功不會報錯!

建表語句如下:

向其中插入行

居然返回

看來check約束是白寫了,沒有起作用.

經(jīng)過上網(wǎng)查看發(fā)現(xiàn),MySQL只是可以使用check約束, 但不會強制的遵循check約束!

官方推薦使用 枚舉類型(ENUM) 來替代以上的使用check約束的情況.將表中的gender字段修改成如下類型:

(注意修改前的表中數(shù)據(jù)不能有gender字段含有不是'M'或'F'的數(shù)據(jù)行,否則不能執(zhí)行以下語句,會報錯)

執(zhí)行alter語句后的person表的gender就會在插入和修改時嚴格驗證屬于的數(shù)據(jù)是否合法啦!

測試一下:

如下插入語句會報錯

當輸入正確的語句時不會報錯,通過驗證

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

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

AUTO_INCREMENT 自增列不允許使用

引用另一個表中的另一列不允許使用

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

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

子查詢不允許使用

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

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

我們可以使用此功能在表中添加更多的邏輯,但是根據(jù)我以前作為程序員的經(jīng)驗,我不建議在表中添加邏輯,因為除非您無法訪問應用程序代碼,否則很難找到或調試錯誤。

mysql怎么看約束和觸發(fā)器?

可以從information_schema架構下的系統(tǒng)表查看\x0d\x0a \x0d\x0a-- 查看約束\x0d\x0aSELECT * FROM information_schema.`TABLE_CONSTRAINTS`;\x0d\x0a \x0d\x0a-- 查看觸發(fā)器\x0d\x0aSELECT * FROM information_schema.`TRIGGERS`;

網(wǎng)頁名稱:mysql怎么查約束 sql如何查看約束
鏈接地址:http://www.muchs.cn/article2/hhioic.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設計公司品牌網(wǎng)站建設、動態(tài)網(wǎng)站關鍵詞優(yōu)化、品牌網(wǎng)站設計企業(yè)建站

廣告

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

營銷型網(wǎng)站建設