日付列を含むデータを SQLite データベースに挿入しようとしています。ただし、フィールドの下のコードでクエリを実行すると、LastLogin
フィールドにはデータが入力されません。また、Created
デフォルト値が であっても、フィールドは空のままですCURRENT_TIMESTAMP
。クエリの他のすべてのフィールドは正しく入力されます。これがなぜなのか誰か教えてもらえますか?
これは、SQLite のテーブル SQL です。
CREATE TABLE [User] (
[Id] INTEGER PRIMARY KEY NOT NULL,
[CredentialsToken] TEXT NULL,
[GivenName] TEXT NULL,
[FamilyName] TEXT NULL,
[Created] DATE DEFAULT CURRENT_TIMESTAMP NULL,
[LastUpdated] DATE NULL,
[LastLogin] DATE NULL
)
これは、データを挿入する私の AS です。
private const CREATE_USER:String = "INSERT INTO User (Id, CredentialsToken, GivenName, FamilyName, LastLogin) VALUES (:id, :token, :givenName, :familyName, :lastLogin)";
public function createUser(args:Array):void
{
if (args[0] is DatabaseResponder && args[1] is Object)
{
var sqlWrapper:SQLWrapper = this.sqlStatementFactory.newInstance(args[0], CREATE_USER);
var user:Object = args[1];
sqlWrapper.statement.parameters[":id"] = user.Id;
sqlWrapper.statement.parameters[":token"] = user.LoginToken;
sqlWrapper.statement.parameters[":givenName"] = user.GivenName;
sqlWrapper.statement.parameters[":familyName"] = user.FamilyName;
sqlWrapper.statement.parameters[":lastLogin"] = new Date(); // this field is always empty
sqlWrapper.statement.execute();
}
}
LastLogin
また、SQLite アドミニストレーターを使用して次の SQL を実行すると、データは入力されますが、フィールドは空のままであるという事実も注目に値しますCreated
。
INSERT INTO User (Id, CredentialsToken, GivenName, FamilyName, LastLogin) VALUES (111, 'XYZ', 'Foo', 'Bar', '29-10-2013')