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

Zapobiegaj nadpisywaniu tablicy i zamiast tego utwórz nowy indeks tablicy

Dane w tablicy są nadpisywane, ponieważ ponownie przypisujesz wartość $key za każdym razem, gdy zostanie napotkany.

To, co chcesz zrobić, to utworzyć dodatkową tablicę jako $key wartość i wepchnij węzły do ​​tej tablicy w ten sposób, że otrzymasz oczekiwany wynik.

[
    'NM1' => ['...', '...'],
    'PR1' => ['...', '...']
]

Kod byłby,

while (($row = fgetcsv($handle, 1000, ";", "\"", "\n")) !== FALSE) {
    $key = array_shift($row);
    // Notice the extra []
    $data[$key][] = $row;
}

Każdy klucz będzie teraz zawierał tablicę z węzłem dla każdego napotkanego wiersza.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zastąp tabele MySQL za pomocą AWS Glue

  2. Najszybszy sposób na zaktualizowanie tabeli MySQL, jeśli wiersz istnieje, wstawiaj. Więcej niż 2 nieunikalne klucze

  3. PHP MySQL INSERT nie powiedzie się z powodu unikalnego ograniczenia

  4. Błąd SQL:1064, SQLState:42000 podczas tworzenia nowej encji

  5. SQL:Wybieranie liczby wielu tabel