Jaki jest maksymalny numer kolumny klucza wielokolumnowego (MySQL)? Czy zależy od typu danych kolumny lub silnika?Klucz podstawowy wielokolumnowy MySQL
Odpowiedz
Tak, to zależy od silnika do przechowywania.
-
The maximum number of columns per index is 16. The maximum key length is 1000 bytes. This can also be changed by changing the source and recompiling. For the case of a key longer than 250 bytes, a larger key block size than the default of 1024 bytes is used.
-
The InnoDB internal maximum key length is 3500 bytes, but MySQL itself restricts this to 3072 bytes. This limit applies to the length of the combined index key in a multi-column index.
Dziękuję. Świetna odpowiedź. –
Znalazłem to:
ktoś próbował stworzyć PK z 2 kolumn i pojawił się ten błąd:
„Określony klucz był zbyt długi; maksymalna długość klucza jest 1024 bajtów” tak to wygląda, że maksymalna to 1024 bajty, nie ma znaczenia liczba kolumn, co naprawdę ma znaczenie, jest typem var, a przestrzeń go przypisuje.
I widać przykłady tak:
create table OS_PROPERTYENTRY (entity_name VARCHAR(125) not null, entity_id BIGINT not null,
entity_key VARCHAR(255) not null date_val DATETIME, primary key (entity_name, entity_id, entity_key))
miarę
125 * (3 bity) + 255 * (3 bity) + 1 * (8 bajtów) = 1148 bajtów. Więc nie można stworzyć PK.
spojrzeć tutaj, mówią o nim: https://jira.atlassian.com/browse/CONF-2783
- 1. Wielokolumnowy klucz obcy w MySQL?
- 2. Usuń klucz podstawowy w MySQL
- 3. MySQL: Jak ustawić klucz podstawowy na phpMyAdmin?
- 4. MySQL: Określić stołu klucz podstawowy dynamicznie
- 5. sqlalchemy ORM: jak zadeklarować klasę tabeli zawierającą klucz wielokolumnowy?
- 6. Podstawowy klucz złożony PostgreSQL
- 7. Zmiana MySQL klucz podstawowy, gdy istnieje klucz obcy contraints
- 8. Podstawowy klucz kontra kluczowego
- 9. klucz podstawowy naruszenia ograniczenia
- 10. MERGE Naruszenie klucz podstawowy
- 11. JPA kompozytowa klucz podstawowy
- 12. Oracle złożony klucz podstawowy/klucz obcego pytania
- 13. ScalaQuery wielokrotny klucz podstawowy i klucz obcy
- 14. iOS - Klucz podstawowy zestawu danych atrybut klucz
- 15. MySQL - Jeśli istnieje, uzyskaj klucz podstawowy. Inaczej dodaj wpis
- 16. Czy klucz podstawowy jest automatycznie indeksowany w MySQL?
- 17. Jak tabeli MySQL automatycznego przyrostu klucz podstawowy z niektórych prefiks
- 18. Jak zmienić klucz podstawowy MySQL z podpisu na niepodpisany?
- 19. Najlepszy sposób obsługi dużych (UUID) jako klucz podstawowy tabeli MySQL
- 20. MySql automatycznie zwiększający się alfa-numeryczny klucz podstawowy?
- 21. SQL: ustawić istniejącej kolumny jako klucz podstawowy w MySQL
- 22. Jak ustawić klucz podstawowy od 1000?
- 23. Usunąć klucz podstawowy w datatable
- 24. Klucz podstawowy klastrowany vs nieklastrowany
- 25. Szyny - Zastąp klucz podstawowy has_one
- 26. Podstawowy klucz złożony w django
- 27. jak kropla nienazwany klucz podstawowy
- 28. Uzyskaj klucz podstawowy instancji modelu wymownego
- 29. Czy klucz obcy może działać jako klucz podstawowy?
- 30. Złożony klucz podstawowy, klucz obcy. Odniesienie do obiektu lub klucza?
jej 16 w serwerze SQL 2008 .. nie wiem abt mysql –
[Ten artykuł jest z 2006 roku] (http : //www.xaprb.com/blog/2006/04/17/max-key-length-in-mysql/) i podaje maksymalną długość klucza podstawowego to 1000 bajtów. Nie jestem pewien, czy to się zmieniło od tego czasu. – Taryn
Myślę, że limity wynoszą 1000 bajtów dla MyiSAM i 3072 dla silnika InnoDB. –