【问题标题】:Syntax error in creating trigger in sqlite在 sqlite 中创建触发器时的语法错误
【发布时间】:2015-04-21 05:09:03
【问题描述】:

以下代码导致 SQLite 出现语法错误。 我想这一定很简单,但我看不到。

我有两个表格、页面和项目,通过文本代码链接。当此代码在 pages 表中更改时,我也希望它在 items 表中进行更改。

SQLite 版本比较老了,3.7.7.1,但是我在版本历史中没见过这样的问题。这发生在使用 PHP 5.3.1 的 Windows 上。

CREATE TABLE IF NOT EXISTS "efpage" ( "pageid" integer NOT NULL PRIMARY KEY, "psite" text NULL, "pgcode" text NULL ); 
CREATE TABLE IF NOT EXISTS "efitem" ( "itemid" integer NULL PRIMARY KEY , "isite" text NULL, "ititle" text NULL,  "inpage" text NULL); 

DROP TRIGGER IF EXISTS update_pagecode;
CREATE TRIGGER update_pagecode AFTER UPDATE OF pgcode ON efpage
BEGIN
UPDATE efitem SET inpage = new.pgcode WHERE inpage = old.pgcode;
END;    

产生的错误是 “pgcode”附近的错误:语法错误。

尝试不同的东西,我看到语法错误在“old.pgcode;”之后

【问题讨论】:

  • 为我工作 (3.8.9)。

标签: sqlite syntax triggers


【解决方案1】:

如CL所示,

这与 SQLite 的版本相关联。 我在 Windows 上使用与 PHP 捆绑的 SQLite。

我的下一个(已回答)问题是:

How to update the SQLite version bundled with PHP

【讨论】:

    猜你喜欢
    • 2012-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多