2016-04-14 3 views
1

Je suis en train de créer une table (client) à la base de données en utilisant cette requête,erreur SQL: ORA-00904:: identifiant invalide 3

CREATE TABLE customers(
    "customer_id" VARCHAR2(20), 
    f_name VARCHAR2(30), 
    CONSTRAINT f_name_not_null NOT NULL, 
    l_name VARCHAR2(30), 
CONSTRAINT l_name_not_null NOT NULL, 
    mobile_no VARCHAR2(30), 
    CONSTRAINT mobile_no_not_null NOT NULL, 
    address VARCHAR2(30), 
    CONSTRAINT address_not_null NOT NULL, 
    CONSTRAINT customer_pk PRIMARY KEY(customer_id), 
    CONSTRAINT mobile_no_address_unique UNIQUE(mobile_no,address)); 

je reçois le dos suivant:

Error report - SQL Error: ORA-00904: : invalid identifier 00904. 00000 - "%s: invalid identifier"

+6

' « customer_id »' est un autre nom alors 'customer_id' Consultez le manuel pour plus de détails https://docs.oracle. com/database/121/SQLRF/sql_element s008.htm # SQLRF00223 il suffit de supprimer toutes ces doubles citations redoutées –

Répondre

1

Il y a deux problèmes dans cette déclaration

premier est l'utilisation de la colonne incompatible citée (comme indiqué dans le commentaire par @a_horse_with_no_name)

deuxième problème est que la contrainte de la colonne ne doit pas être séparée par une virgule de la définition de la colonne

La déclaration correcte avec des changements dans les commentaires est

CREATE TABLE customers(
    /*"*/customer_id/*"*/ VARCHAR2(20), 
    f_name VARCHAR2(30) /*,*/ 
    CONSTRAINT f_name_not_null NOT NULL, 
    l_name VARCHAR2(30)/*,*/ 
CONSTRAINT l_name_not_null NOT NULL, 
    mobile_no VARCHAR2(30)/*,*/ 
    CONSTRAINT mobile_no_not_null NOT NULL, 
    address VARCHAR2(30) /*,*/ 
    CONSTRAINT address_not_null NOT NULL, 
    CONSTRAINT customer_pk PRIMARY KEY(customer_id), 
    CONSTRAINT mobile_no_address_unique UNIQUE(mobile_no,address)); 

intéressant est que l'erreur que vous voyez ce qui concerne la deuxième question , après avoir résolu, vous obtiendrez l'erreur pour la première question qui est plus spécifique:

ORA-00904: "CUSTOMER_ID": invalid identifier