sql >> Database teknologi >  >> RDS >> Oracle

Syntaksfejl ved forsøg på at indsætte flere rækker i SQL?

Jeg vil starte med at angive kolonner:

INSERT INTO CATEGORY (<colname1>, <colname2)
    VALUES ('BUS','BUSINESS'), ('CHN', 'CHILDREN'), ('COK', 'COOKING'), 
           ('COM', 'COMPUTER'), ('FAL', 'FAMILY LIFE'), ('FIT', 'FITNESS'), 
           ('SEH', 'SELF HELP'), ('LIT', 'LITERATURE');

Ikke alle databaser understøtter VALUES med flere rækker. Så kunne være årsagen til dit problem.

Hvis du f.eks. bruger Oracle, der ikke understøtter dette, kan du bruge UNION ALL :

INSERT INTO CATEGORY (<colname1>, <colname2)
    SELECT 'BUS', 'BUSINESS' FROM DUAL UNION ALL
    SELECT 'CHN', 'CHILDREN' FROM DUAL UNION ALL
    . . .
    SELECT 'LIT', 'LITERATURE' FROM DUAL;


  1. Indsættelse af afkrydsningsfeltværdier i databasen

  2. WordPress MySQL SQL-forespørgselsfejl i WPDB-klassen

  3. Undgå at gentage poster, der vises i MySQL / PHP

  4. kontrollere, om forespørgslen resulterer i tom række mysqli