Обновление поля в SQL для определенной строки, соответствующей синтаксису поиска - PullRequest
0 голосов
/ 20 февраля 2020

У меня есть таблица в SQLite3 с именем MachineData со следующими заголовками:

  • ResourceId (первичный ключ)
  • MachineName
  • PrimaryUser

Таблица заполнена ResourceId, и мне нужно выполнить поиск по ResourceId и вставить данные по строке.

Я пробовал следующие операторы , но это не нравится мой синтаксис. Любая помощь будет оценена?

INSERT INTO MachineData (PrimaryUser) VALUES ('Mickey Mouse') WHERE ResourceId LIKE '1001'

, а также

INSERT INTO MachineData (PrimaryUser) VALUES ('Mickey Mouse') WHERE (SELECT ResourceId FROM MachineData LIKE '1001')

, а также

INSERT INTO MachineData (PrimaryUser) VALUES ('Mickey Mouse') WHERE ResourceId EQUALS '1001'

Никто из них не решил играть хорошо, всегда давая мне логи c ошибка.

Таблица выглядит так:

TABLENAME: MachineData

| ResourceId | MachineName | PrimaryUser | 
|============|=============|=============|
| 1001       |             |             |
| 1002       |             |             |
| 1003       |             |             |

Я хочу, чтобы она выглядела так:

| ResourceId | MachineName  | PrimaryUser  | 
|============|==============|==============|
| 1001       |              | Mickey Mouse |
| 1002       |              |              |
| 1003       |              |              |

Ответы [ 2 ]

2 голосов
/ 20 февраля 2020

Вы хотите update?

UPDATE MachineData
    SET PrimaryUser = 'Mickey Mouse'
    WHERE ResourceId LIKE '1001';

Я предполагаю, что ResourceId - это число. Если это так, вы не должны использовать строковые операции:

UPDATE MachineData
    SET PrimaryUser = 'Mickey Mouse'
    WHERE ResourceId LIKE 1001;
1 голос
/ 20 февраля 2020

Вы пытались вставить строку, которая уже есть в таблице. Вот почему вы получаете ошибку. Если первичный ключ уже существует в данной таблице, вы не можете использовать ключевое слово INSERT. Используйте UPDATE запрос, как показано ниже.

UPDATE MachineData SET PrimaryUser = 'Mickey Mouse' WHERE ResourceId LIKE '1001'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...