sql >> Databasteknik >  >> RDS >> Mysql

INSERT INTO om villkoret är uppfyllt

INSERT uttalandet har två varianter:

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

och

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

dual är en systemtabell med exakt 1 rad. Den kan användas till olika saker. Här används det så en VALUES (...) skrivs om som en SELECT ... där vi inte har någon lämplig tabell att lägga i FROM klausul:

$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. Korrekt mappning mellan Java LocalDateTime och db

  2. MySQL VARCHAR Lengths och UTF-8

  3. Lägg till en CHECK-begränsning till en befintlig tabell i SQL Server (T-SQL)

  4. SQL ROWNUM hur man returnerar rader mellan ett specifikt intervall