напротив вставки в - удаление дубликатов - PullRequest
2 голосов
/ 28 июня 2019

Я очень новичок в Sql, так что терпите меня.Я выполнил запрос следующий запрос:

INSERT INTO adhoc_dt.`table` (id, name) VALUES(53098974, 'John');

однако, случайно, я запустил его дважды.Я хотел бы удалить дубликат.Как это можно сделать?

Я пытался

 INSERT INTO adhoc_dt.`table` (id, name) VALUES(53098974, 'John');

, но получаю ошибку:

ОШИБКА SQL [1064] [42000]: У вас есть ошибкав вашем синтаксисе SQL;проверьте руководство, соответствующее вашей версии сервера MySQL, для правильного синтаксиса, чтобы использовать около

Ответы [ 2 ]

4 голосов
/ 28 июня 2019

если в вашем имени таблицы указан специальный символ зарезервированного слова, тогда вы должны заключить имя таблицы в обратные символы

 `table`

, но, глядя на ваш вопрос, имя таблицы выглядит как

`adhoc_dt.`table` 

вв этом случае правильный синтаксис для удаления -

DELETE FROM  adhoc_dt.`table`
WHERE id =  53098974 AND name =  'JOHN'

, но таким образом вы удаляете все строки с помощью

 id =  53098974 AND name =  'JOHN'
0 голосов
/ 28 июня 2019

Необходимо выполнить шаги

  • урезать таблицу
  • применить уникальное ограничение для идентификатора
  • запустить скрипт вставки
...