Sqlite 3 Ошибка триггера - PullRequest
       5

Sqlite 3 Ошибка триггера

0 голосов
/ 20 октября 2011

У меня есть база данных sqlite, которую я разделяю между сайтом php / PDO и Xcode для iPad / iPhone. Когда я создаю текстовые записи на веб-сайте, PDO добавляет косые черты, которые я могу удалить позже, используя функцию phps stripslashes (). Однако мне иногда нужно скопировать файл sqlite в Xcode, но я не хочу, чтобы эти косые черты появлялись в моих данных. Предпочтительно, я хотел бы триггер, который удалил бы их в sqlite. Я пробовал

CREATE TRIGGER StripSlashes AFTER UPDATE OF notes ON myTable
FOR EACH ROW
BEGIN
    UPDATE myTable SET notes = replace(notes, '\', '') WHERE id=NEW.id;
END;

Когда я обновляю поле примечаний, Sqlite возвращает следующую ошибку: «Неверное количество аргументов для функции REPLACE ()» Тем не менее, запрос:

SELECT replace(notes, '\', '') FROM myTable

работает как положено.

Есть предложения? Спасибо!

1 Ответ

0 голосов
/ 20 октября 2011

Я не уверен, как это сделать в SQLite, но вы определенно можете сделать это в Objective-C, используя stringByReplacingOccurencesOfString, что-то вроде этого (которое я не проверял!):

    NSString yourstring = [yournotes stringByReplacingOccurrencesOfString:@"\\" withString:@""];

stringByTrimmingCharactersInSet может также работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...