Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Masowy insert na podstawie innej tabeli
daniel1302
post
Post #1





Grupa: Zarejestrowani
Postów: 602
Pomógł: 30
Dołączył: 1.08.2007
Skąd: Nowy Sącz

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
maly_swd
post
Post #2





Grupa: Zarejestrowani
Postów: 744
Pomógł: 118
Dołączył: 14.02.2009
Skąd: poziome

Ostrzeżenie: (0%)
-----


  1. INSERT INTO tabela2 (SELECT id, concat('Przedmiot ', rand(1,1000)) FROM tabela1
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 21:27