INSERT
изразът има два варианта:
INSERT INTO tableX
(a, b, c, ...)
VALUES
(1, 2, 3, ...) ;
и
INSERT INTO tableX
(a, b, c, ...)
SELECT
1, 2, 3
FROM
... ; --- the same or another table or many tables
dual
е системна таблица с точно 1 ред. Може да се използва за различни неща. Тук се използва като VALUES (...)
се пренаписва като SELECT ...
където нямаме подходяща таблица, която да поставим в FROM
клауза:
$query_land = "INSERT INTO `Sequence` (`num_arr`,`start`,`fin`,`way_id`)
SELECT '".$solution[$i][0]."','".$solution[$i][1]."',
'".$solution[$i][2]."','".$solution[$i][3]."'
FROM dual
WHERE '".$solution[$i][0]."' IN (SELECT num_arr
FROM Schedule
WHERE num_arr<>'')";