Я очень новичок в Sql, так что терпите меня. Я выполнил запрос следующего запроса:
INSERT INTO adhoc_dt.`table` (id, name) VALUES(53098974, 'John');
однако случайно я запускаю его дважды. Я хотел бы удалить дубликат. Как это сделать?
Я старался
INSERT INTO adhoc_dt.`table` (id, name) VALUES(53098974, 'John');
но получаю ошибку:
SQL ERROR [1064][42000]: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near
SQL имеет только 3 способа действия с таблицей INSERT, UPDATE и DELETE, но у вас есть проблема с удалением, если у вас нет способа однозначно идентифицировать строки (для чего полезен идентификатор auto_increment или временная метка). У вас есть уникальный идентификатор строки?






Если имя вашей таблицы включает специальный символ зарезервированного слова, вы должны заключить имя таблицы в обратные кавычки:
`table`
Но, глядя на ваш вопрос, имя таблицы кажется:
`adhoc_dt.`table`
В этом случае правильный синтаксис для удаления:
DELETE FROM adhoc_dt.`table`
WHERE id = 53098974 AND name = 'JOHN'
но таким образом вы удаляете все строки с помощью:
id = 53098974 AND name = 'JOHN'
Вы должны выполнить шаги
И как мы это делаем? Поскольку это вызывает больше вопросов, поскольку кажется, что это ни на что не отвечает?
Какая именно ошибка? Кроме того, если id является уникальным ключом или первичным ключом, вам не нужно беспокоиться о наличии дубликатов.