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 `col1
b`,'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..