Как обновить значение первичного ключа? - PullRequest
0 голосов
/ 29 ноября 2018

Предположим, у меня есть таблица в Sqlite:

MySingleRowtable:

+--------------+
|  someHeader  |       <-----pk
+--------------+
|     aa       |
+--------------+

Как обновить значение первичного ключа?

Я пробовал как:

UPDATE MySingleRowtable
SET 'someHeader' = 'bb'
WHERE 'someHeader'='aa';

1 Ответ

0 голосов
/ 29 ноября 2018

Следующие работы: -

DELETE FROM MySingleRowTable;
CREATE TABLE IF NOT EXISTS MySingleRowTable (someHeader PRIMARY KEY);
INSERT OR IGNORE INTO MySingleRowTable VALUES('aa');
SELECT * FROM MySingleRowTable;
UPDATE MySingleRowTable SET someHeader = 'bb' WHERE someHeader = 'aa';
SELECT * FROM MySingleRowTable;

enter image description here

Однако у вас есть: -

DELETE FROM MySingleRowTable;
CREATE TABLE IF NOT EXISTS MySingleRowTable (someHeader PRIMARY KEY);
INSERT OR IGNORE INTO MySingleRowTable VALUES('aa');
SELECT * FROM MySingleRowTable;
UPDATE MySingleRowTable SET 'someHeader' = 'bb' WHERE 'someHeader' = 'aa';
SELECT * FROM MySingleRowTable;

enter image description here

То есть у вас есть имена столбцов в одинарных кавычках, поэтому вы фактически говорите

  • ОБНОВЛЕНИЕ только тогда, когда someHeader (текст)это аа это никогда не будет.

В отличие от высказывания

  • ОБНОВЛЕНИЕ только тогда, когда содержимое столбца someHeader имеет значение aa .
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...