Как записать данные в определенную строку определенного столбца?

Возможно ли записать данные в определенную строку определенного столбца?

Например:

  Id|Name
1|11|user1
2|15|
3|17|user3
4|25|user4

В строчку 2 под столбец 'Name' записать 'user2'


Ответы (2 шт):

Автор решения: MaxU

Использовать порядковые номера строк в реляционных БД нельзя, т.к. они могут измениться.

Например если после удаления нескольких строк сделать VACUUM, то SQLite удалит "дырки", чтобы сделать БД более компактной. После этого номера всех строк, располагавшихся после первой дырки (удаленной строки) изменятся.

Все операции изменения строк желательно выполнять по первичному ключу (Primary Key), который обязан быть уникальным.

Судя по вашим данным, столбец Id - выполняет у вас роль первичного ключа. Поэтому гораздо безопаснее и правильнее идентифицировать записи по столбцу Id:

sqlite> select * from tab;
Id  Name
--  -----
11  user1
15
17  user3
25  user4

sqlite> update tab set name = 'user2' where id = 15 and name is null;

sqlite> select * from tab;
Id  Name
--  -----
11  user1
15  user2
17  user3
25  user4
→ Ссылка
Автор решения: Anastasiya

Insert into users value(name) where id=? ; и под вопрос подставляете что вам надо

→ Ссылка