sql >> Databáze >  >> RDS >> Mysql

INSERT INTO, pokud je splněna podmínka

INSERT výpis má dvě varianty:

INSERT INTO tableX
    (a, b, c, ...)
VALUES
    (1, 2, 3, ...) ;

a

INSERT INTO tableX
    (a, b, c, ...)
SELECT
    1, 2, 3
FROM
    ... ;             --- the same or another table or many tables

dual je systémová tabulka s přesně 1 řádkem. Dá se použít na různé věci. Zde se používá jako VALUES (...) je přepsán jako SELECT ... kde nemáme žádnou vhodnou tabulku, kterou bychom vložili do FROM klauzule:

$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<>'')";



  1. Oracle spouští, že kontrolní omezení na měsíční bázi

  2. Rozdělení řetězců v PL/SQL

  3. Závažná chyba:Volání členské funkce query() PHP CLASS

  4. Chyba mikroormu:ověření hesla pro uživatele postgres selhalo