Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Podstawowa musi zawierać wszystkie kolumny w błędzie lokalizacji partycjonowania tabeli?

Partycjonujesz dane za pomocą fldconfirmdate, który jest częścią twojego PK, ale nie częścią twojego UNIKALNEGO KLUCZA fld_id.

Jest to wyodrębnione z Instrukcja MySQL :

Oznacza to, że uczynienie fldconfirmdate częścią UNIKALNEGO KLUCZA „fld_id” rozwiąże problem.

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. varchar automatycznego przyrostu w MySQL

  2. Porządkowanie najpierw według określonej wartości pola

  3. Odkryj sortowanie kolumny MySQL

  4. Wybierz N poprzednich i M następnych pozycji wokół bieżącego identyfikatora pozycji

  5. Przechowywanie identyfikatorów GUID/UUID MySQL