簡體   English   中英

cx_Oracle.DatabaseError:ORA-00907:缺少右括號

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM