2010-04-04 8 views
0

Je travaille avec python et mysql et je veux vérifier qu'une certaine entrée est compressée dans la base de données. À savoir:MySql: Comment savoir si une entrée est compressée ou non

cur = db.getCursor() 
cur.execute('''select compressed_column from table where id=12345''') 
res = cur.fetchall() 

à ce point, je voudrais vérifier que l'entrée est compressée (par exemple pour travail avec les données que vous devez utiliser select uncompress(compressed_column)..). Des idées?

+1

Vous mélangez les données compressées et non compressées dans la même colonne? Ça me semble être une mauvaise idée ... –

+0

Je ne fais que tester pas db-ing. Je suis d'accord, c'est une très mauvaise idée – Guy

Répondre

4

COMPRESS() sur MySQL utilise zlib, vous pouvez donc essayer ce qui suit pour voir si la chaîne est compressé:

try: 
    out = s.decode('zlib') 
except zlib.error: 
    out = s 
Questions connexes