<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        Mysql外鍵約束_MySQL

        來源:懂視網 責編:小采 時間:2020-11-09 20:18:24
        文檔

        Mysql外鍵約束_MySQL

        Mysql外鍵約束_MySQL:Mysql集群創建外鍵,分為四種約束:no action,restrict,cascade,set null。如果表A的主關鍵字是表B中的字段,則該字段稱為B的外鍵,表A稱為主表,表B稱為從表。外鍵是用來實現參照完整性的,不同的外鍵不同的外鍵約束方式將可以使兩張表緊密的結合起來,特
        推薦度:
        導讀Mysql外鍵約束_MySQL:Mysql集群創建外鍵,分為四種約束:no action,restrict,cascade,set null。如果表A的主關鍵字是表B中的字段,則該字段稱為B的外鍵,表A稱為主表,表B稱為從表。外鍵是用來實現參照完整性的,不同的外鍵不同的外鍵約束方式將可以使兩張表緊密的結合起來,特
        Mysql集群創建外鍵,分為四種約束:no action,restrict,cascade,set null。如果表A的主關鍵字是表B中的字段,則該字段稱為B的外鍵,表A稱為主表,表B稱為從表。外鍵是用來實現參照完整性的,不同的外鍵不同的外鍵約束方式將可以使兩張表緊密的結合起來,特別是修改或者刪除的級聯操作將使得日常的維護工作更加輕松。

        \

        CASCADE: 從父表刪除或更新且自動刪除或更新子表中匹配的行。

        ·SET NULL: 從父表刪除或更新行,并設置子表中的外鍵列為NULL。

        ·NO ACTION: 在ANSI SQL-92標準中,NO ACTION意味這不采取動作,就是如果有一個相關的外鍵值在被參考的表里,刪除或更新主要鍵值的企圖不被允許進行(Gruber, 掌握SQL, 2000:181)。 InnoDB拒絕對父表的刪除或更新操作。

        RESRICT:同no action。

        環境模擬:

        先來添加兩張表:ta_resource和ta_resourcetime。

        DROP TABLE IF EXISTS `ta_resource`;
        CREATE TABLE `ta_resource` (
         `ResourceId` varchar(64) NOT NULL,
         `ResourcePId` varchar(64) DEFAULT NULL,
         `ResourceName` varchar(64) DEFAULT NULL,
         `Type` varchar(64) DEFAULT NULL,
         `Desc` varchar(512) DEFAULT NULL,
         `Priority` smallint(6) DEFAULT NULL,
         `IsFold` varchar(2) DEFAULT NULL,
         `IsUse` varchar(2) DEFAULT NULL,
         `URL` varchar(64) DEFAULT NULL,
         `Icon` varchar(512) DEFAULT NULL,
         `Css` varchar(64) DEFAULT NULL,
         `JavaScript` varchar(64) DEFAULT NULL,
         `TimeSpan` datetime DEFAULT NULL,
         `IsDefault` varchar(2) DEFAULT NULL,
         PRIMARY KEY (`ResourceId`)
        ) ENGINE=ndbcluster DEFAULT CHARSET=utf8;
        
        -- ----------------------------
        -- Table structure for `ta_resourcetime`
        -- ----------------------------
        DROP TABLE IF EXISTS `ta_resourcetime`;
        CREATE TABLE `ta_resourcetime` (
         `TimeId` varchar(64) NOT NULL,
         `ResourceId` varchar(64) NOT NULL,
         `ResourceName` varchar(64) DEFAULT NULL,
         `RoleId` varchar(64) NOT NULL,
         `RoleName` varchar(64) DEFAULT NULL,
         `URL` varchar(64) DEFAULT NULL,
         `StartTime` datetime NOT NULL,
         `EndTime` datetime NOT NULL,
         `IsDeleted` varchar(2) DEFAULT NULL,
         `Desc` varchar(512) DEFAULT NULL,
         PRIMARY KEY (`TimeId`),
         KEY `ResourceId` (`ResourceId`),
         CONSTRAINT `resourceid` FOREIGN KEY (`ResourceId`) REFERENCES `ta_resource` (`ResourceId`) ON 
         DELETE NO ACTION ON UPDATE NO ACTION
        ) ENGINE=ndbcluster DEFAULT CHARSET=utf8;


        1、no action時

        這兩個表中的外鍵使用的是ON DELETE NO ACTION ON UPDATE NO ACTION

        如果更改數據時, ta_resource是主表,ta_resourcetime是從表。

        更新數據時:可以修改主表,但是不可以修改從表的數據。

        刪除數據時:先刪除從表,再刪除主表。

        2、cascade時

        集群搭建完再插入數據庫表時,在on delete 和on update 都使用cascade時遇到了這樣的問題:不能添加外鍵約束。

        \

        之前以為是mysql集群不支持外鍵,在網上查了mysql集群該版本支持外鍵約束和師哥們討論過這個問題,表示mysql集群支持外鍵約束。于是經過多次實踐,找到出現這種問題的原因:mysql集群中支持使用cascade,但是on delete 和on update只能有一個使用cascade,另一個使用no action就可以。

        3、內存不足

        出現的問題:插入不進去數據,經過查詢,是由于內存不足

        \

        解決方法:

        在配置文件config.ini中對內存進行設置,主要對這幾項進行設置:

        MaxNoOfTables=10240

        設置集群中最大表對象數量
        MaxNoOfAttributes=500000

        設置可在集群中定義的屬性數量

        MaxNoOfConcurrentTransactions=1000000
        用于設定節點內可能的并發事務數
        MaxNoOfConcurrentOperations=1000000
        設置能同時出現在更新階段或同時鎖定的記錄數
        MaxNoOfOrderedIndexes=10240
        設置有序索引的總數

        如果不配置這些,mysql集群中會默認內存的大小,當內存滿了以后就插不進去數據了。

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        Mysql外鍵約束_MySQL

        Mysql外鍵約束_MySQL:Mysql集群創建外鍵,分為四種約束:no action,restrict,cascade,set null。如果表A的主關鍵字是表B中的字段,則該字段稱為B的外鍵,表A稱為主表,表B稱為從表。外鍵是用來實現參照完整性的,不同的外鍵不同的外鍵約束方式將可以使兩張表緊密的結合起來,特
        推薦度:
        標簽: mysql 約束 外鍵
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲人成77777在线播放网站| 永久免费bbbbbb视频| 国产亚洲精品精品国产亚洲综合| 亚洲另类自拍丝袜第五页| 四虎成人精品一区二区免费网站| 亚洲春黄在线观看| 免费在线看v网址| 亚洲综合av一区二区三区不卡| 天堂在线免费观看中文版| 亚洲AV无码资源在线观看| 成人伊人亚洲人综合网站222| 人成免费在线视频| 亚洲AV综合色区无码一区 | 国产亚洲日韩一区二区三区| 乱人伦中文视频在线观看免费| 亚洲伊人成无码综合网 | 久久黄色免费网站| 亚洲91精品麻豆国产系列在线| 好男人视频在线观看免费看片 | 日韩免费高清一级毛片| 亚洲伦乱亚洲h视频| 91免费福利视频| 亚洲国产精品xo在线观看| 成人毛片免费网站| 中文字幕永久免费| 亚洲欧洲校园自拍都市| 日本免费观看网站| 日本免费在线观看| 亚洲av永久无码精品秋霞电影秋| 亚洲精品国产精品乱码不卡 | 亚洲AV无码XXX麻豆艾秋| 国产成人亚洲精品91专区手机| 嫩草在线视频www免费观看| 亚洲制服丝袜在线播放| 免费国产高清视频| 免费国产黄网站在线观看视频 | 亚洲黄色片免费看| 四虎精品免费永久免费视频| 亚洲激情视频在线观看| 国产嫩草影院精品免费网址| 成人电影在线免费观看|