SQL запрос в SQLite - страница 3

 
Dmitriy Skub #:
Так значение replID равно уже однажды добавленному в первую строку?

Конечно нет

Это таблица heartbeat, в нее валится время с разными replID

Что бы не раздувать базу, я решил делать только одну запись - последнее время

 
Если строки все добавляются, значит у Вас ключ не то же самый. Это очевидно.
 
prostotrader #:

Я знаю, что меняется, как сделать?

Я вообще первый раз в жизни столкнулся с базой данных (лучше бы не делал этого, но нужда заставила)

Сделайте таблицу с другим столбцом в качестве первичного ключа. Назовите как-нибудь типа "PRKEY" и всегда пишите туда одно и тоже значение. Например, 1.
 
prostotrader #:

Конечно нет

Это таблица heartbeat, в нее валится время с разными replID

Что бы не раздувать базу, я решил делать только одну запись - последнее время

Понятно. Михаил, надо добавить в качестве первичного ключа номер строки и всегда задавать в этой команде = 1.
 
Dmitriy Skub #:
первичного ключа

Ок, спасибо

 
prostotrader #:

Конечно нет

Это таблица heartbeat, в нее валится время с разными replID

Что бы не раздувать базу, я решил делать только одну запись - последнее время

это называется "преждевременная оптимизация" :-)

если будет раздуваться, потом(!!) можно раз в день в ночи делать бекапы, удалять лишнее и иногда делать VACUUM базы. 

и конечно формулировать задачи надо учиться 

я-то (как и большинство) решили что ReplID - некий идентификатор, про него прилетают данные и их надо хранить. Имеющееся обновлять, отсутсвующее создавать

сейчас уже вообще не понимаю что вам надо

 
Dmitriy Skub #:
Понятно. Михаил, надо добавить в качестве первичного ключа номер строки и всегда задавать в этой команде = 1.

Я не могу добавить столбец в начало таблицы, только в конец, так как таблицы создаются в цикле (в потоке несколько таблиц).

 string(GetFieldType(string(ptable_desc^.name), Fields)) + ',num integer primary key autoincrement)' else


а как потом указать на него?


 
prostotrader #:

Я не могу добавить столбец в начало таблицы, только в конец,


а как потом указать на него?


Да пофигу в каком он месте. Он ключом должен быть.
 
Sergey Gridnev #:
Да пофигу в каком он месте. Он ключом должен быть.

А вот не работает


 
prostotrader #:

Я не могу добавить столбец в начало таблицы, только в конец, а как потом указать на него?

Так Вы его сделали первичным ключом?

REPLACE INTO FORTS_название_таблицы ( replID, replRev , replAct , server_time, num ) VALUES ( '8327... ' , '8327... ' , '0', '08.12...' ,1) как-то так

Причина обращения: