如何指示Django针对给定模型的字段调用nextval
?
我意识到我可以在DB中触发:
CREATE TRIGGER foo_trg
BEFORE INSERT ON foo FOR EACH ROW
BEGIN
SELECT foo_id_seq.NEXTVAL INTO :new.foo_id FROM dual;
END;
但是我很好奇Django是否可以通过MySQL和自动增量等配置来实现。
我没有看到Django Oracle notes中指定的任何内容。
答案 0 :(得分:0)
Oracle 12c引入了两个与mysql自动增量相关的新功能。
使用序列的默认值
CREATE SEQUENCE seq;
CREATE TABLE t (
x number default seq.nextval, /*-- no need for a trigger to autoincrement */.
y varchar2(10)
);
http://docs.oracle.com/database/121/SQLRF/pseudocolumns002.htm#SQLRF50946
标识列
CREATE TABLE t (
x number generated by default on null as identity,
y varchar2(10)
);
http://docs.oracle.com/database/121/SQLRF/statements_7002.htm#SQLRF01402