2010-02-26 5 views
2

Dire que j'ai une table avec un champ ID, et j'ai un tableau local (dans n'importe quelle langue, php ou objectif c ou basique ou autre) de ID admissibles s. Je souhaite supprimer tout enregistrement dans lequel le champ ID ne correspond à aucun des champs éligibles ID de ma baie.SQLite supprimer de la table où champ ne correspond pas à un objet dans un tableau

Existe-t-il un moyen de le faire dans une seule requête SQL? Pouvez-vous passer un tableau en SQL et dire essentiellement delete from sometable where 'id' is not in 'arrayofids'?

Merci pour toute aide. J'ai regardé dans les docs d'aide mais SQLite/SQL ne sont pas une de mes meilleures qualifications.

Répondre

3

Je pense que je l'ai déjà trouvé la réponse:

$locationSQL = "DELETE * FROM item WHERE 'ID' NOT IN ($somearray)"; 

et que vous utilisez simplement des virgules pour séparer les éléments du tableau. Assez simple.

+1

Le caractère '*' n'est pas valide dans SQLite. –

Questions connexes