Время в SQLite как вставить (и обновить / выбрать) - PullRequest
0 голосов
/ 30 декабря 2010

У меня есть база данных SQLite с таблицей, которая содержит 4 поля.Оператор создания:
CREATE TABLE [time] (<br> [id] INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,<br> [from] TIME NOT NULL,<br> [until] TIME NOT NULL,<br> [message] TEXT NOT NULL,<br> )

После создания я хотел бы добавить некоторые тестовые данные.Для этого я использую:
INSERT INTO time('from','until','message') VALUES('00:00','01:00','test')

Результат в базе данных:
id = 1<br> from = 0:00:00<br> until = 0:00:00<br> message = test<br>

Очевидно, что время неверно, то есть это не то, что я хочубыть.Что не так в моем заявлении вставки?Я уже нашел этот сайт , но я не уверен, как он должен мне помочь.Конечно, пример кода может мне очень помочь.

1 Ответ

1 голос
/ 30 декабря 2010

Я также не смог воспроизвести ваши результаты, я получил тот же результат, что и dkarp .Вам не нужно назначать тип данных для столбцов в таблицах sqlite, поэтому, очевидно, если вы назначите неверный тип данных, он будет проигнорирован.В вашем случае ваши текстовые значения были сохранены как текст.

sqlite не имеет типа данных TIME в соответствии с sqlite.org / datatype3.html , поэтому вы можете назначить TEXT в качестве сходства для 'fromстолбцы 'и' до 'Имеет смысл сохранять ваши значения в виде строк, содержащих дату и время, а не только время ... что-то вроде следующего:

sqlite> CREATE TABLE [time] (
   ...> [id] INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
   ...> [from] TEXT NOT NULL,
   ...> [until] TEXT NOT NULL,
   ...> [message] TEXT NOT NULL
   ...> );
sqlite> 
sqlite> 
sqlite> INSERT INTO time('from','until','message') VALUES(date('now') || ' 00:00',date('now') || ' ' || '01:00','test');
sqlite> INSERT INTO time('from','until','message') VALUES(date('now') || ' 14:00',date('now') || ' ' || '15:30','test');
sqlite> 
sqlite> SELECT * from time;
1|2010-12-30 00:00|2010-12-30 01:00|test
2|2010-12-30 14:00|2010-12-30 15:30|test
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...