2012-03-26 12 views
0

Dies ist, was ich auszuführen versuchen:Netbeans gibt Fehlercode -1, SQL-Status 42Z93, wenn ein Befehl auszuführen versucht TABLE-SQL CREATE

CREATE TABLE "order" (
    "o_id" INTEGER not null primary key, 
    "c_id" INTEGER, 
    PRIMARY KEY (o_id), 
    FOREIGN KEY (c_id) REFERENCES customer(c_id) 
); 

diesen Fehler, wenn ich die obige SQL-Befehl ausführen:

Error code -1, SQL state 42Z93: Constraints 'SQL120326130633321' and 'SQL120326130633320' have the same set of columns, which is not allowed.

Vor dem obigen SQL-Befehl ausgeführt ich dies:

CREATE TABLE "customer" (
    "c_id" INTEGER not null primary key, 
    "c_first" VARCHAR(30), 
    "c_last" VARCHAR(30) 
); 

EDIT (s olution):

Ich glaube, ich es fest.

Zuerst musste ich die PRIMARY KEY(o_id) entfernen, da es im Grunde wiederholte, was ich in Zeile 2 des SQL-Befehls o_id INTEGER not null primary key eingegeben habe, so beschwerte ich versuchte, Primärschlüssel für die gleiche Spalte zweimal zu erstellen.

Zweitens danach fixiert war erneut ein Fehler aufgetaucht mir zu sagen, dass CUSTOMER Tabelle konnte nicht gefunden werden. Vielleicht war das Problem, dass ich die Kommata ("...") um den Tabellenname "Kunde" verwendete, als CREATE TABLE versuchte, auszuführen.

Ich löschte ‚Kunden‘ Tisch und neu erstellt es ohne Zitate im SQL-Befehl.

Danach ausgeführt ich die ‚CREATE TABLE‘ für ‚Aufträge‘ und es funktionierte.

merkwürdige Unterschied besteht darin, dass, wenn ich die Zitate rund um den Kunden Tabellennamen in SQL verwendet, zunächst seinen Namen alle Kleinbuchstaben in den Datenbanken Explorer von Netbeans erschienen. Aber wenn ich die Anführungszeichen weggelassen habe, wurden die Tabellennamen nur in Großbuchstaben geschrieben - sogar in den Spaltennamen.

+0

Wurde der Kunde erfolgreich ausgeführt? – Teja

+0

Ja. Ich habe jetzt eine Kundentabelle in meiner Datenbank. – Bob

+0

Sie können und sollten Ihre Lösung als Antwort auf diese Frage veröffentlichen (die Sie später akzeptieren können). – oers

Antwort

1

Sie fügen die Primärschlüsseleinschränkung zweimal hinzu. Sie brauchen es nur einmal, an einem Ort oder dem anderen, abhängig vom DB-Anbieter.

+0

Ich entfernte den PRIMARY KEY (o_id) Teil, weil ich davon aus, dass das Problem war, da ich schon als primäre Linie 2 erklärt o_id Aber jetzt bekomme ich diesen Fehler: 'Fehlercode -1, SQL-Status X0Y46: Constraint‚SQL120326133325951‘ ist ungültig: Die referenzierte Tabelle KUNDE existiert nicht.' Aber die Kundentabellen existieren und ich sehe sie hier mit allen Spalten. – Bob

+0

sollten Sie Ihren Beitrag aktualisieren, um Ihren aktuellen Code und damit das aktuelle Problem widerzuspiegeln. Auf diese Weise erhalten Sie bessere Antworten. Werfen Sie einen Blick auf w3schools-SQL-Lektionen zu Fremdschlüsselbedingungen. – jeremyjjbrown