2014-01-06 6 views
0

Я пытаюсь написать инструкцию sql, которая делает вставку, если определенный идентификатор строки не существует. Итак, я прочитал, и нижеследующее должно работать, но оно просто замораживает мой браузер базы данных SQLite:SQL Insert else Обновление не работает

Любые идеи?

INSERT INTO details 
(id, name, age) 
VALUES 
(“1”, "mike", "22") 
ON DUPLICATE KEY UPDATE 
name = “mike” 
age = “22” 
+2

SQLite = MySQL –

+0

по крайней мере, вам нужна запятая между двумя полями после одного дубликата –

+0

использования или двойные кавычки в части DUPLICATE, теперь у вас есть что-то еще. – Mihai

ответ

1

сложно найти текущие сообщения на эту тему, но это, кажется, что «ON KEY UPDATE DUPLICATE» не существует в SQLite. вам нужно будет найти альтернативный способ сделать это. эти два метода, которые я нашел в

1) НА КОНФЛИКТ ... ЗАМЕНИТЬ http://www.sqlite.org/lang_conflict.html который не обновляется, но удаляет данная строка затем вставляет его с новыми значениями и

2) попробовать/пункт поймать, что-то вроде этого:! http://blog.client9.com/2007/11/21/sqlite3-and-on-duplicate-key-update.html который программно ловила ошибку от конфликта, и введение в действие обновления, когда происходит ошибка

+0

Спасибо, друг! Мне нужно было ВСТАВИТЬ ИЛИ ЗАМЕНИТЬ – userMod2

Смежные вопросы