2016-07-15 21 views
0

Ich habe eine Spalte des Typs INTEGER, auf die ich Wert legen mit der folgenden Anweisung:SQLite3 Integer und CURRENT_TIMESTAMP

connection.execute("INSERT INTO ActiveTable (IDPK, Time) VALUES (NULL, CURRENT_TIMESTAMP)") 

Aber die Daten speichert Unicode im Format: jjjj-mm-tt hh: mm: ss

Wie kann ein INTEGER-Feld einen Unicode-formatierten Zeitstempel speichern? Warum wird hier kein Fehler ausgelöst?

+0

try int (CURRENT_TIMESTAMP)? –

+0

In SQL-Anweisungen gibt es kein Int Casting. – Angus

+0

Was ich meinte, war es konvertieren, bevor Sie es in Ihrem sql –

Antwort

1

SQLite verwendet dynamische Typisierung. Es erzwingt keine Datentypbeschränkungen. Es ist also die erste Strategie zum Speichern, das Speichern von Daten ist der Hauptjob und wenn der Datentyp nicht mit dem definierten Typ übereinstimmt, konvertiert SQLite ihn in einige bestimmte Prinzipien.

Weitere Informationen: https://www.sqlite.org/faq.html#q3 https://www.sqlite.org/datatype3.html#affinity