2017-03-21 2 views
0

J'ai l'erreur de syntaxe dans la commande mysql Insert, avez-vous des suggestions? Nous vous remercions à l'avanceerreur de syntaxe dans Insérer mysql en utilisant Minus

insert = "INSERT INTO dbpedia_untyped_instance SELECT resource FROM stat_resource MINUS (SELECT resource FROM dbpedia_types UNION SELECT resource FROM dbpedia_disambiguations)"; 
    try { 
     stmt.execute(insert); 
    } catch (SQLException e) { 
     System.out.println("Error inserting into untyped instance table"); 
     e.printStackTrace(); 
    } 

Répondre

0

MySQL ne prend pas en charge MINUS. Pour contourner le problème, vous pouvez utiliser une jointure d'exclusion en guise de solution de contournement.

Quelque chose comme cela fonctionne pour vous (une autre option consiste à utiliser NOT EXISTS):

SELECT RESOURCE 
FROM stat_resource 
LEFT OUTER JOIN dbpedia_types 
    ON dbpedia_types.resource = stat_resource.resource 
LEFT OUTER JOIN dbpedia_disambiguations 
    ON dbpedia_disambiguations.resource = stat_resource.resource 
WHERE dbpedia_types.resource IS NULL 
    AND dbpedia_disambiguations.resource IS NULL 
+0

Merci, ça marche –