程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> Mysql分區表關於主鍵約束的限制

Mysql分區表關於主鍵約束的限制

編輯:MySQL綜合教程

Mysql分區表對主鍵約束等都有一定的限制,下面就對Mysql5.1中Mysql分區表對於主鍵約束的限制舉例進行說明,供您參考學習。

關於Partitioning Keys, Primary Keys, and Unique Keys的限制:

在5.1中Mysql分區表對唯一約束有明確的規定,每一個唯一約束必須包含在Mysql分區表的分區鍵也包括主鍵約束)。
這句話也許不好理解,我們做幾個實驗:

  1. CREATE TABLE t1    
  2. (      id INT NOT NULL,               
  3.        uid INT NOT NULL,         
  4.        PRIMARY KEY (id)  
  5. )  
  6. PARTITION BY RANGE (id)     
  7. (PARTITION p0 VALUES LESS THAN(5) ENGINE = INNODB,   
  8. PARTITION p1 VALUES LESS THAN(10) ENGINE = INNODB 
  9. );   
  10.  
  11. CREATE TABLE t1     
  12. (      id INT NOT NULL,  
  13.        uid INT NOT NULL,         
  14.        PRIMARY KEY (id)  
  15. )  
  16. PARTITION BY RANGE (id)     
  17. (PARTITION p0 VALUES LESS THAN(5) ENGINE = MyISAM DATA DIRECTORY='/tmp'INDEX DIRECTORY='/tmp',   
  18. PARTITION p1 VALUES LESS THAN(10) ENGINE = MyISAM DATA DIRECTORY='/tmp' INDEX DIRECTORY='/tmp' 
  19. );   
  20.  
  21. mysql> CREATE TABLE t1         
  22.      -> (      id INT NOT NULL,            
  23.      ->        uid INT NOT NULL,   
  24.      ->        PRIMARY KEY (id),      
  25.      ->        UNIQUE KEY (uid)      
  26.      -> )      
  27.      -> PARTITION BY RANGE (id)        
  28.      -> (PARTITION p0 VALUES LESS THAN(5),     
  29.      ->  PARTITION p1 VALUES LESS THAN(10)     
  30.      -> );  
  31. ERROR 1503 (HY000): A UNIQUE INDEX must include all columns in the table's partitioning function  


 

MySQL環境變量配置說明

定義MySQL事務的例子

mysql存儲過程問題解答

創建MySQL存儲過程示例

MYSQL IFNULL函數的使用

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved