PHP PDO有没有办法禁用命名占位符(Oracle AUTOINCREMENT问题)

时间:2013-07-23 13:41:34

标签: oracle pdo placeholder auto-increment named

我在oracle中创建表(odbc连接 - 必须)。我想创建自动增量列。那不是问题。我需要执行的查询如下:

CREATE TRIGGER TBIUR_FOLDER_FOLDER_ID
BEFORE INSERT OR UPDATE
OF
FOLDER_ID
ON FOLDER
REFERENCING NEW AS NEW OLD AS OLD FOR EACH ROW
BEGIN 
IF :NEW."FOLDER_ID" IS NULL 
 THEN SELECT "SQ_FOLDER_FOLDER_ID".NEXTVAL INTO :NEW."FOLDER_ID" FROM dual;
END IF;
END;

问题在于:NEW关键字,PDO将其作为命名参数,因此我无法正确创建触发器。当我签入数据库时​​,创建查询是:

IF :1."FOLDER_ID" IS NULL 

所以:NEW被替换为:1:/我不知道该怎么做......

1 个答案:

答案 0 :(得分:0)

是。
您可以根据需要禁用预准备语句 只是不要将它们用于此查询,因为它显然不需要它们。只需使用query()exec()

运行即可