Wyslac wiadomosc do wszystkich...

0

Witam !

Mam pewny problem. Mam 2 tabele:

character, pola takie jak character_id i paroma innymi
message, pola id ->id wiadomosci, owner_id -> wlasciciel, sender_id -> wysylajacy

I teraz, chce zrobic wysylanie wiadomosci na raz do wszystkich. Czyli wrzucic N wiadomosci do tabeli message gdzie kazdy owner_id bedzie przypisany kolejnemu character_id z tabeli character.

Kombinowalem z:

INSERT INTO message (SELECT character_id FROM character)

I roznymi wariantami. Ale nie da rady. W internecie nie znalazlem odpowiedzi.

Oczywiscie, moge zrobic to tak ze najpierw pobiore wszystkie identyfikatory i pokolei wrzuce miliard wiadomosci. Przy 100 wierszach w character jeszcze spoko. Ale przy 100000 skrypt moglby wyrzucic timeout. Jest na to jakis sposob ?

0

INSERT INTO message (owner_id) SELECT character_id FROM character

0
AdamPL napisał(a)

INSERT INTO message (owner_id) SELECT character_id FROM character

Dzieki, pomoglo :) Tak wyglada cale zapytanie:

INSERT INTO messages (char_id, sender_id, topic, date, body) (SELECT character_id, %d, '%s', NOW(), '%s' FROM character)

1 użytkowników online, w tym zalogowanych: 0, gości: 1