Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Một chính phải bao gồm tất cả các cột trong lỗi vị trí phân vùng của bảng?

Bạn đang phân vùng dữ liệu bằng cách sử dụng fldconfirmdate, là một phần của PK của bạn, nhưng không phải là một phần của Fld_id KEY DUY NHẤT của bạn.

Điều này được trích xuất từ ​​ Hướng dẫn sử dụng MySQL :

Điều đó có nghĩa là việc xác nhận fldconfirmdate trở thành một phần của KEY DUY NHẤT 'fld_id´ của bạn sẽ giải quyết được vấn đề.

CREATE TABLE `tbl_emp_confirmation` (
  `fld_id` int(11) NOT NULL AUTO_INCREMENT,
  `fldemp_id` varchar(100) DEFAULT NULL,
  `fldempname` varchar(100) DEFAULT NULL,
  `fldjoindate` varchar(100) DEFAULT NULL,
  `fldconfirmdate` Date NOT NULL,
  `fldresigndate` varchar(100) DEFAULT NULL,
  `fldstatus` varchar(50) DEFAULT NULL,
  `fldcon_status` varchar(100) DEFAULT NULL,
  UNIQUE KEY `fld_id` (`fld_id`, `fldconfirmdate`),
  KEY `in_empconfirmation` (`fldemp_id`,`fldempname`,`fldjoindate`,`fldconfirmdate`)
  ) PARTITION BY RANGE ( Month(fldconfirmdate))
  (PARTITION p_JAN VALUES LESS THAN (TO_DAYS('2011-01-01')),
 PARTITION p_FEB VALUES LESS THAN (TO_DAYS('2011-02-01')),
 PARTITION p_MAR VALUES LESS THAN (TO_DAYS('2011-03-01')),
 PARTITION p_APR VALUES LESS THAN (TO_DAYS('2011-04-01')),
 PARTITION p_MAY VALUES LESS THAN (TO_DAYS('2011-05-01')),
 PARTITION p_MAX VALUES LESS THAN MAXVALUE );



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Đếm các chữ cái viết hoa trong chuỗi

  2. Tìm kiếm đối sánh toàn bộ từ trong MySQL

  3. MySQL:So sánh GIỮA thời gian

  4. MySql. Cách sử dụng Tự tham gia

  5. Cách thực hiện điều này trong Laravel, truy vấn con ở đâu trong