Eu tenho um banco de dados SQLite, versão 3 e estou usando C # para criar um aplicativo que usa esse banco de dados.
Desejo usar um campo de carimbo de data / hora em uma tabela para simultaneidade, mas percebo que, quando insiro um novo registro, esse campo não está definido e é nulo.
Por exemplo, no MS SQL Server, se eu usar um campo de carimbo de data e hora, ele será atualizado pelo banco de dados, não preciso definir sozinho. isso é possível no SQLite?
DATETIME
dados , mas o SQLite aceita qualquer coisa como tipo de campo .DEFAULT (STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW', 'localtime'))
um realmente obtém valores significativos de microssegundos.Você pode criar o campo TIMESTAMP na tabela no SQLite, veja o seguinte:
Este é o resultado:
fonte
Lendo datefunc, um exemplo prático de conclusão automática de data e hora seria:
Vamos inserir algumas linhas de uma maneira que inicie a conclusão automática de data e hora:
Os dados armazenados mostram claramente que os dois primeiros são iguais, mas não a terceira função:
Preste atenção que as funções SQLite estão entre parênteses! Quão difícil foi mostrar isso em um exemplo?
Diverta-se!
fonte
você pode usar gatilhos. funciona muito bem
fonte
Para complementar as respostas acima ...
Se você estiver usando EF, adorne a propriedade com Data Annotation [Timestamp], vá para o OnModelCreating substituído, dentro da sua classe de contexto, e adicione este código da API Fluent:
Ele criará um valor padrão para todos os dados que serão inseridos nesta tabela.
fonte
você pode usar o datetime personalizado usando ...
use 'NOW', 'localtime' para obter a data atual do sistema; caso contrário, ele mostrará algum tempo passado ou outro no seu banco de dados após o tempo de inserção no banco de dados.
Te agradece...
fonte
Se você usar o SQLite DB-Browser, poderá alterar o valor padrão desta maneira:
Eu recomendo fazer uma atualização do seu banco de dados antes, porque um formato incorreto no valor pode levar a problemas no SQLLite Browser.
fonte