forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   PureBasic (http://forum.boolean.name/forumdisplay.php?f=90)
-   -   SQLite удалить/редактрировать строку (http://forum.boolean.name/showthread.php?t=17901)

Izunad 17.02.2013 23:21

SQLite удалить/редактрировать строку
 
Как построить запрос в базу данных, что бы из нескольких абсолютно одинаковых строк удалить/редактировать всего одну???

Izunad 18.02.2013 20:16

Ответ: SQLite удалить/редактрировать строку
 
Код:

DatabaseQuery(0,"DELETE FROM Defect WHERE R='3' LIMIT 1")
Вроде все просто но что то не работает

moka 18.02.2013 20:20

Ответ: SQLite удалить/редактрировать строку
 
Тебе нужен уникальный идентификатор каждой записи, обычно его называют ID.
В MySQL можешь добавить дополнительную колонку для таблицы, и указать что эта колонка - Primary Key, а также Auto Increment. Таким образом у тебя будет колонка с уникальным идентификатором. Используй её в WHERE опциях запросов для чёткой идентификации строки которую удаляешь / редактируешь.

Izunad 18.02.2013 20:42

Ответ: SQLite удалить/редактрировать строку
 
Я как бы пытаюсь обойти внедерение ID в базу, иначе мне придется передовать все ID записей клиенту (клиент/сервер+база) , который решит с каким ID ему работать.
Либо придется на сервере по запросу искать записи и брать первый попавшийся ID для дальнейшего действия, то есть придется делать два запроса в базу данных

moka 18.02.2013 20:50

Ответ: SQLite удалить/редактрировать строку
 
У тебя может база решать ID - это надёжнее.
Но если клиент решает ID - то тоже ок, только убедись что не будет коллизий (две записи с одинаковым ID). Также сделай эту колонку как Primary Key - тогда точно коллизий не будет, и скорость доступа к записи по ID будет прямой а не поиском.

В общем ты не совсем ясно выражаешь конкретную проблему.
Лучше распиши по пунктам что делаешь, что нужно получить, и где не работает.


Часовой пояс GMT +4, время: 16:54.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot