![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 125 Pomógł: 1 Dołączył: 8.01.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Cześć,
Potrzebuję zrobić primary key, który zawiera dwie kolumny np. numer_faktury i pozycja_faktury (AUTOINCREMENT). Wtedy silnikiem tabeli musi być MyISAM. Z drugiej strony MyISAM nie obsługuje transakcji, a tego tez potrzebuję. zeby mieć transakcję muszę mieć tabelę o silniku InnoDB (wtedy nie mogę zrobić indeksu, tak jak potrzebuję). Czy jest jakiś sposób jak to obejść? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 95 Pomógł: 7 Dołączył: 27.10.2015 Ostrzeżenie: (0%) ![]() ![]() |
a czemu na pozycje_faktury musisz mieć autoincrementa?
- Jeżeli będziesz tego używał do wyświetlania w widoku elementów z faktury to wtedy będziesz miał dziury jak będzie rollback innej transakcji. - Jeżeli nie będziesz tego używał do wyświetlania to lepiej zrobić tabelkę pozycje_faktury(id, faktura_id) oraz faktura(id, name, itd.) i zrobić one-to-many relację, a pozycje na fakturze wyliczać w locie w php - chyba że kolejnoś ma znaczenie ale to nadal możesz sortować po id. Czemu nie tak? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 04:24 |