Sorunun nedeni, bir MySQL satırının tamsayı değerlerinin bir 'L' son ekine sahip olmasıdır? yapay ekran kolaylığı için buraya biçimlendirilmiş - -Veritabanı satırı satırlarındaki tamsayıların neden bir 'L' son eki var?
{'estimated': '',
'suffix': '',
'typeofread': 'g',
'acct_no': 901001000L,
'counter': 0,
'time_billed': datetime.datetime(2012, 5, 1, 9, 5, 33),
'date_read': datetime.datetime(2012, 3, 13, 23, 19, 45),
'reading': 3018L,
'meter_num': '26174200'}
tablodan bir kez okuma sonucu ile sıkıştırılmış bir MySQL veritabanı tablo sütunlarının oluşur
aşağıdaki sözlüğü: İşte detaylar.
I) (int bu değerleri geçirerek 'L' kaldırabilir, böylece Sözlük adlı bir değişken snapped_read olsaydı, bunu yapabilir miydim:
int(snapped_read['reading'])
ve 3018L
3018
olarak değişir.
Ben tamsayılar bu şekilde göstermek neden olarak merak ediyorum.
Yan nota: MySQLdb, Python 2.x üzerinde TÜM tamsayı türlerini uzun yazmaya dönüştürür. –
Bilmek ilginç. Sadece "BIGINT" ın buna ihtiyacı var gibi görünüyor, bu yüzden Python arayüzü açısından tutarlılık için tahmin ediyorum. Daha detaylı araştırılması İhtiyaçları ... http://dev.mysql.com/doc/refman/5.6/en/integer-types.html – JAB
Evet, neden bilmiyorum, ama buna rağmen 'TINYINT' sütunlar uzun türüne dönüştürülür var ama bunun Python'un veritabanı arayüzü API'sı olduğunu düşünüyorum. –