Sqlite 3触发器错误

时间:2011-10-20 01:26:34

标签: php ios sqlite

我有一个sqlite数据库,我在php / PDO网站和Xcode for iPad / iPhone之间共享。当我在网站上创建文本条目时,PDO添加了斜杠,我可以稍后使用php的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;

当我更新notes字段时,Sqlite返回以下错误:“函数REPLACE()的参数数量错误” 但是,查询:

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

按预期工作。

有什么建议吗?谢谢!

1 个答案:

答案 0 :(得分:0)

我不确定如何在SQLite中执行此操作,但您可以使用stringByReplacingOccurencesOfString在Objective-C中完成此操作,就像这样(我还没有测试过!):

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

stringByTrimmingCharactersInSet也可能有用。