[英]cx_Oracle.DatabaseError: ORA-00907: missing right parenthesis
以下代碼顯示
cx_Oracle.DatabaseError: ORA-00907: missing right parenthesis
cur.execute('''CREATE TABLE address(addressid int PRIMARY KEY AUTO_INCREMENT=1,addressline varchar(10),city varchar(10),zip int,state varchar(10)) ''')
在添加約束之前,代碼運行時沒有錯誤,但現在顯示了錯誤。
這是選項的順序,首先指定列,然后指定約束。
在Oracle 12中,使用:
CREATE TABLE address(addressid INT GENERATED AS IDENTITY PRIMARY KEY,
addressline VARCHAR(10), city VARCHAR(10), zip int, state varchar(10));
在Oracle 11及更早版本中,沒有簡單的替代AUTO_INCREMENT
,您必須使用序列和觸發器:
CREATE TABLE address(addressid INT PRIMARY KEY,
addressline VARCHAR(10), city VARCHAR(10), zip int, state varchar(10));
CREATE SEQUENCE addressid_seq;
CREATE OR REPLACE TRIGGER addressid_tbi BEFORE INSERT ON address FOR EACH ROW
BEGIN :new.addressid := addressid_seq.nextval; END;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.