2022年01月16日整理發(fā)布:mysql添加分區(qū)出錯怎么辦
關(guān)系型數(shù)據(jù)庫添加分區(qū)出錯報(bào)"1503"錯誤的原因:每一個分區(qū)表中的公式中的列必須在主鍵"唯一密鑰"中包括否則就報(bào)錯;解決方法:先使用"主鍵"關(guān)鍵字創(chuàng)建一個復(fù)合主鍵將分區(qū)字段加入到主鍵中再進(jìn)行分區(qū)操作。
(推薦教程:mysql視頻教程)
如果分區(qū)字段沒有包含在主鍵字段內(nèi)如表A的主鍵為身份證,分區(qū)字段為創(chuàng)建時間按時間范圍分區(qū)代碼如下:
(資料圖片)
創(chuàng)建表T1(
id int(8)不為空自動增量,
創(chuàng)建時間日期時間不為空,
主鍵(標(biāo)識)
)ENGINE=InnoDB AUTO _ INCREMENT=1 DEFAULT CHARSET=ut F8
按范圍劃分(截止日(創(chuàng)建時間))
(
分區(qū)p0蛋白值小于(至_天(" 2010-04-15 ")),
分區(qū)第一親代值小于(至_天(" 2010-05-01 ")),
分區(qū)p2值小于(至_天(" 2010-05-15 ")),
分區(qū)p3值小于(至_天(" 2010-05-31 ")),
分區(qū)p4值小于(截止日期(" 2010-06-15 ")),
分區(qū)p19值小于最大值);錯誤提示:#1503
主鍵必須包含表的分區(qū)函數(shù)中的所有列主鍵的限制每一個分區(qū)表中的公式中的列必須在主鍵"唯一密鑰"中包括
在關(guān)系型數(shù)據(jù)庫的官方文檔里是這么說明的
18.5.1.分區(qū)鍵、主鍵和唯一鍵
本節(jié)討論分區(qū)鍵與主鍵和唯一鍵的關(guān)系。控制這種關(guān)系的規(guī)則可以表示如下3360分區(qū)表的分區(qū)表達(dá)式中使用的所有列都必須是該表可能具有的每個唯一鍵的一部分。
換句話說,表上的每個唯一鍵都必須使用表的分區(qū)表達(dá)式中的每個列。(這也包括表的主鍵,因?yàn)楦鶕?jù)定義,它是唯一的鍵。這種特殊情況將在本節(jié)后面討論。)例如,以下每個表創(chuàng)建語句都是無效的:
分區(qū)字段必須包含在主鍵字段內(nèi)至于為什么關(guān)系型數(shù)據(jù)庫會這樣考慮程序員的斑竹是這么解釋的:
為了確保主鍵的效率。否則同一主鍵區(qū)的東西一個在A分區(qū)一個在B分區(qū)顯然會比較麻煩版權(quán)
下面討論解決辦法畢竟在一張表里日期做主鍵的還是不常見。
方法1:
順應(yīng)關(guān)系型數(shù)據(jù)庫的要求就把分區(qū)字段加入到主鍵中組成復(fù)合主鍵
創(chuàng)建表T1(
id int(8)不為空自動增量,
創(chuàng)建時間日期時間不為空,
主鍵(標(biāo)識,創(chuàng)建時間)
)ENGINE=InnoDB AUTO _ INCREMENT=1 DEFAULT CHARSET=ut F8
按范圍劃分(截止日(創(chuàng)建時間))
(
分區(qū)p0蛋白值小于(至_天(" 2010-04-15 ")),
分區(qū)第一親代值小于(至_天(" 2010-05-01 ")),
分區(qū)p2值小于(至_天(" 2010-05-15 ")),
分區(qū)p3值小于(至_天(" 2010-05-31 ")),
分區(qū)p4值小于(截止日期(" 2010-06-15 ")),
分區(qū)p19值小于最大值);測試通過分區(qū)成功。
方法2:
既然關(guān)系型數(shù)據(jù)庫要把分區(qū)字段包含在主鍵內(nèi)才能創(chuàng)建分區(qū)那么在創(chuàng)建表的時候先不指定主鍵字段是否可以呢
測試如下:
創(chuàng)建表T1(
整數(shù)(8)不為空,
創(chuàng)建時間日期時間不為空
)ENGINE=InnoDB AUTO _ INCREMENT=1 DEFAULT CHARSET=ut F8
按范圍劃分(截止日(創(chuàng)建時間))
(
分區(qū)p0蛋白值小于(至_天(" 2010-04-15 ")),
分區(qū)第一親代值小于(至_天(" 2010-05-01 ")),
分區(qū)p2值小于(至_天(" 2010-05-15 ")),
分區(qū)p3值小于(至_天(" 2010-05-31 ")),
分區(qū)p4值小于(截止日期(" 2010-06-15 ")),
分區(qū)p19值小于最大值);測試通過分區(qū)成功好的,版權(quán)所有
繼續(xù)添加上主鍵
Altert1添加主鍵(ID)錯誤1503與之前相同的錯誤。
Altert1 add主鍵(ID,createtime)成功創(chuàng)建了主鍵,但它仍然是一個復(fù)合主鍵。似乎沒有出路。我們必須聽指令。
主鍵已成功創(chuàng)建,標(biāo)識已添加到自增字段設(shè)置中。
alter table t1更改id id int不為null auto _ increment
alter table t1 auto _ increment=1;結(jié)論MYSQL的分區(qū)字段必須包含在主鍵字段中。以上就是mysql添加分區(qū)錯誤時如何做的細(xì)節(jié)!
來源:php中文網(wǎng)站
標(biāo)簽:
為您推薦
-
中國參演官兵駕乘裝甲輸送車向目標(biāo)地域行進(jìn)。巴基斯坦參演官兵開展戰(zhàn)術(shù)演練。蒙古國參演官兵進(jìn)行警戒巡...
2021-09-18
-
“請大家閉上眼睛,把注意力從頭頂‘漫游’到眉頭……”8月底,南部戰(zhàn)區(qū)陸軍某旅駐島某海防連課室內(nèi),官...
2021-09-18
-
9月15日上午,解放軍新聞傳播中心出版社舉行贈書活動,向陸軍第83集團(tuán)軍某旅“紅一連”官兵贈送由中央軍...
2021-09-18
-
新華社杜尚別9月17日電 當(dāng)?shù)貢r間2021年9月16日,國務(wù)委員兼外長王毅在杜尚別應(yīng)約會見印度外長蘇杰生。...
2021-09-18
-
辦房本要找“黃牛”、應(yīng)急管理部門涉嫌搞壟斷、行業(yè)協(xié)會以辦理車輛登記上牌備案之名借機(jī)收費(fèi)斂財(cái)、中小...
2021-09-18
-
新華社杜尚別9月16日電 當(dāng)?shù)貢r間2021年9月16日,國務(wù)委員兼外長王毅在杜尚別同俄羅斯外長拉夫羅夫、巴...
2021-09-18
-
人民網(wǎng)北京9月17日電 (記者溫璐、宋子節(jié))今日,國務(wù)院新聞辦就扎實(shí)做好民政在全面小康中的兜底夯基工...
2021-09-18
-
人民網(wǎng)杭州9月17日電 (記者孫博洋)9月16日至17日,中國質(zhì)量(杭州)大會在浙江杭州舉行。在16日舉行...
2021-09-18
-
人民網(wǎng)北京9月17日電 (記者王連香)據(jù)中國國家鐵路集團(tuán)消息,今日,十一黃金周火車票正式開售,車票預(yù)...
2021-09-18
-
9月16日,清華五道口“碳中和經(jīng)濟(jì)”論壇召開。中國核電黨委書記、董事長盧鐵忠作為核能企業(yè)代表受邀視頻...
2021-09-18
-
會議現(xiàn)場。人民網(wǎng)訊 9月14日,在第28屆北京國際書展開幕之際,由中國社會科學(xué)出版社主辦的“新形勢下學(xué)...
2021-09-18
-
人民網(wǎng)北京9月17日電 (記者王連香)據(jù)交通運(yùn)輸部消息,全國網(wǎng)約車監(jiān)管信息交互平臺統(tǒng)計(jì),截至2021年8...
2021-09-18
-
新聞發(fā)布會現(xiàn)場。海關(guān)總署供圖人民網(wǎng)北京9月17日電 (記者栗翹楚)9月16日,海關(guān)總署舉行新聞發(fā)布會,...
2021-09-18
-
北侖海關(guān)查驗(yàn)關(guān)員正操作智檢機(jī)器人對集裝箱開展放射性排查。海關(guān)總署供圖繁忙的上海自貿(mào)試驗(yàn)區(qū)洋山海關(guān)...
2021-09-18
-
人民網(wǎng)杭州9月17日電 (記者孫博洋)9月16日至17日,中國質(zhì)量(杭州)大會在浙江杭州舉行。在16日舉行...
2021-09-18