Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Masowy insert na podstawie innej tabeli
Forum PHP.pl > Forum > Bazy danych > MySQL
daniel1302
Witam, mam pytanie otóż mam takie 2 tabelki:
tabela1:
-id(int)
-name(test)
W tej tabeli mam przykladowo 10rekordow z numerkami id porozrzucanymi od 1 do 15

tabela2:
-uzytkownik(int)
-przedmiot(varchar 255)


I chciałbym wykonać insert do bazy danych do tabeli "tabela2" na podstawie "tabela1"

Chciałbym aby dodało mi przedmioty do tabeli dla użytkowników z tabeli1.
Czy da się to wykonać w jednym zapytaniu?

podam przykład jak to rozwiązuje:
odczytuje wartośc za pomocą zapytania
  1. SELECT * FROM tabela1

potem w pętli wchile generuje taki string (1, 'Przedmiot 12'), (3, 'Przedmiot 562'), ... (15, 'Przedmiot 123')
i wykonuje zapytanie INSERT
  1. <?php
  2. $db -> Execute('SELECT * FROM tabela1');
  3. $string = '';
  4. $i = 0;
  5. while(!$stat -> EOF)
  6. {
  7. if ($i > 0)
  8. $string .= ',';
  9. $string .= '('.$stat['id'].', \'Przedmiot '.rand(1,1000).'\')';
  10. $i++;
  11. }
  12. $db -> Execute('INSERT INTO tabela2(uzytkownik, przedmiot) VALUES'.$string);


Pozdrawiam daniel1302
maly_swd
  1. INSERT INTO tabela2 (SELECT id, concat('Przedmiot ', rand(1,1000)) FROM tabela1
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.