Maximum number of columns in PRIMARY KEY
It's the same for MySQL and MariaDB: an index can consist of 16 columns, at maximum.
Since a PRIMARY KEY constraint automatically adds an index, it can't have more than 16 columns.

See MySQL Reference Manual / ... / The Main Features of MySQL:


  Support for up to 64 indexes per table. Each index may consist of 1 to 16 columns or parts of columns. The maximum index width is 767 bytes (per column) for InnoDB tables, or 1000 for MyISAM. An index may use a prefix of a column for CHAR, VARCHAR, BLOB, or TEXT column types.