J'essaie d'insérer une base de données dans la base de données SQLite à l'aide de Python.
INSERT INTO DATA_TABLE(UID,LABEL) VALUES (NULL, "UK") WHERE "UK" NOT EXISTS IN (SELECT LABEL FROM DATA_TABLE);
3 Réponses :
Je suis sûr que insérer code> n'a pas de
où la clause code> ( La documentation ne mentionne pas de ). Ce que vous pouvez faire: p>
étiquette code> li>
Insérer ou échouer CODE> LI>
Oui, je ne l'ai pas au courant. Merci :)
Il vous donne une erreur de syntaxe car il n'est pas Syntaxe autorisée . De votre exemple, je suppose que le schéma est probablement: dans quel cas qui fonctionne alors comme prévu: p> clé primaire code> implique
unique code>. Mais, étant donné que vous autorisez la génération automatique de
uid code>, vous ne vous souciez pas de ce que la valeur est la valeur, vous ne voulez tout simplement pas dupliquer
étiquette code> S auquel cas vous vous souciez réellement que
étiquette code> est unique alors dites-le donc: p>
data_table code>,
uid code> et
étiquette code> ne sont pas d'exemple de noms aux fins de cette question, alors vous devez utiliser plus noms significatifs comme ceux-ci sont horriblement non informatifs. p> p>
Merci @mesw, c'est vrai. Les noms sont juste des exemples, j'utilise l'étiquette comme unique.
INSERT INTO DATA_TABLE(UID,LABEL) VALUES (NULL, "UK") WHERE NOT EXISTS(SELECT 1 FROM DATA_TABLE WHERE LABEL="UK"); you can use this instead of INSERT OR FAIL.