MySQL jak dodać wiele wierszy za pomocą jednego zapytania i kilku tabel?

Minęły czasy gdy pewne rzeczy uznałem, za zbyt abstrakcyjne do wykonania. Aktualnie wszystko da się zrobić. W jedym zapytaniu dodać wiele wierszy? Nic trudnego przecież jest taka struktura:

INSERT INTO example
(example_id, name, value, other_value)
VALUES
(100, 'Name 1', 'Value 1', 'Other 1'),
(101, 'Name 2', 'Value 2', 'Other 2'),
(102, 'Name 3', 'Value 3', 'Other 3'),
(103, 'Name 4', 'Value 4', 'Other 4');

Jednak to się sprawdza gdy chcemy dodać znane nam parametry, a co w sytuacji gdy mamy dwie tabele i na podstawie zawartości jednej chcemy uzupełnić drugą? Tak, mamy PHP i możemy to zrobić bez zbędnego kombinowania. Jeśli jednak musimy to zrobić w jednym zapytaniu?Też są rozwiązania tego problemu:

insert into table (`col1a`,`col2a`)
select `col1b`,'jakas wartosc zdefinionwana przez nas' from zepages_socialMedia

W ten sposób możemy dodawać dowolną ilość column z dowolnej ilości tabel. Do tego jeśli select zwróci większą ilość wierszy – wszystkie zostaną uzupełnione z podanymi parametrami.

PS. jest jeszcze coś takiego jak Union:

INSERT INTO SomeTable ( Col1, Col2, Col3 )
SELECT Val1, Val2, Val3 FROM SomeOtherTable
UNION
SELECT 'MyProvidedVal1', 'MyProvidedVal2', 'MyProvidedVal3'

Tutaj możemy zrobić selecta z wartości z tabeli dodać nowe wartości..

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Proszę dokończyć równanie: * Time limit is exhausted. Please reload CAPTCHA.