SQLite - как удалить, обновить правильно

soprano

Client
Регистрация
25.08.2011
Сообщения
866
Благодарностей
948
Баллы
93
Есть база SQLite, нужно удалить первую строку и обновить базу.
Вариант
C#:
DELETE FROM table_name WHERE Id=1;
не проходит, просто потому что нет Id
Работает выбор первой строки
C#:
SELECT * FROM domofond LIMIT 1;
Как дописать правильно запрос, чтобы удаляло эту строку и обновляло таблицу?

Вот сама база
 

Вложения

Viking01

Client
Регистрация
19.08.2017
Сообщения
228
Благодарностей
151
Баллы
43
открыл базу.
Рекомендую добавить все таки айдишник, потому что твой селект вернет одну строку из выбранного набора данных, но нет никаких гарантий, что это действительно первая строка в базе.
Кроме того рекомендую добавить колонку времени - парсинга, обновления или чего-нить - вот увидишь, понадобится))
В MySql есть еще столбец timestamp - автообновляется при изменении строки, полезная вещь, а в склЛайт помоему его нет.
 

soprano

Client
Регистрация
25.08.2011
Сообщения
866
Благодарностей
948
Баллы
93
Короче, решения без Id - нет?
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 685
Благодарностей
4 642
Баллы
113
пробуй без where. Или задавай там какое-то гарантированное условие. Но не факт, что будет работать как хочешь
 

soprano

Client
Регистрация
25.08.2011
Сообщения
866
Благодарностей
948
Баллы
93
пробуй без where. Или задавай там какое-то гарантированное условие. Но не факт, что будет работать как хочешь
нет условия, вернее оно одно - удаление первой строки в таблице.
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 685
Благодарностей
4 642
Баллы
113

soprano

Client
Регистрация
25.08.2011
Сообщения
866
Благодарностей
948
Баллы
93

doc

Client
Регистрация
30.03.2012
Сообщения
8 685
Благодарностей
4 642
Баллы
113

soprano

Client
Регистрация
25.08.2011
Сообщения
866
Благодарностей
948
Баллы
93

doc

Client
Регистрация
30.03.2012
Сообщения
8 685
Благодарностей
4 642
Баллы
113

soprano

Client
Регистрация
25.08.2011
Сообщения
866
Благодарностей
948
Баллы
93
[15:57:36] Ошибка при выполнении SQL запроса к базе данных '1kv-vyborg': near "LIMIT": syntax error
при любом из этих запросов
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 685
Благодарностей
4 642
Баллы
113

soprano

Client
Регистрация
25.08.2011
Сообщения
866
Благодарностей
948
Баллы
93

doc

Client
Регистрация
30.03.2012
Сообщения
8 685
Благодарностей
4 642
Баллы
113
твой последний шанс)
SQL:
DELETE FROM table_name WHERE rowid = (SELECT rowid FROM table_name LIMIT 1);
 
  • Спасибо
Реакции: soprano

soprano

Client
Регистрация
25.08.2011
Сообщения
866
Благодарностей
948
Баллы
93

inilim

Client
Регистрация
16.09.2017
Сообщения
446
Благодарностей
170
Баллы
43

doc

Client
Регистрация
30.03.2012
Сообщения
8 685
Благодарностей
4 642
Баллы
113

WebBot

Client
Регистрация
04.04.2015
Сообщения
1 774
Благодарностей
1 392
Баллы
113
В реляционных базах нет понятия первая строка или последняя. Все зависит от запроса! При одном запросе строка может быть первой, а при другом какой-то еще. Можно говорить лишь о номере строки в результате выполнения какого-то конкретного запроса. По факту, если в запросе нет конкретной сортировки по какому-либо столбцу ( id, время добавления, ...), то нет гарантии что одна и та же запись будет в результате запроса всегда занимать одну и ту же позицию.
 
  • Спасибо
Реакции: Yuriy Zymlex

soprano

Client
Регистрация
25.08.2011
Сообщения
866
Благодарностей
948
Баллы
93
В реляционных базах нет понятия первая строка или последняя. Все зависит от запроса! При одном запросе строка может быть первой, а при другом какой-то еще. Можно говорить лишь о номере строки в результате выполнения какого-то конкретного запроса. По факту, если в запросе нет конкретной сортировки по какому-либо столбцу ( id, время добавления, ...), то нет гарантии что одна и та же запись будет в результате запроса всегда занимать одну и ту же позицию.
Мне нужно чтобы удалялась именно та строка, данные из которой берутся в данный момент, в цикле. Номер не имеет значения. Первая - это по привычке, взял, отработал, удалил.
 

Кто просматривает тему: (Всего: 2, Пользователи: 0, Гости: 2)