Forum: PC-Programmierung MySQL Fehler


von Jonas N. (medustv)


Angehängte Dateien:

Lesenswert?

Hallo ich wollte fragen ob mir jemand erklären kann was mit diesem 
Fehler gemeint ist oder noch besser wie man ihn löst. Der Fehler tritt 
auf wenn ich versuche die Datenbank zu importieren und wenn ich diesen 
Befehl eingebe: insert into 
smartcontrol.harddisks(FK_case,modelfamiliy,devicemodel,serialnumber,fir 
mwareversion,FK_user)  values ('1','Western Digital AV','WDC 
WD5000LUCT-63RC2Y0','WD-WXN1E29E4EL4','01.01A01','jonas') Ich bedanke 
mich schonmal im vor raus für eure Hilfe

von Εrnst B. (ernst)


Lesenswert?

Du möchtest eine "Test"-Harddisk in Gehäuse Nummer 2 eintragen, das 
Gehäuse gibt es jedoch nicht.

von Jonas N. (medustv)


Angehängte Dateien:

Lesenswert?

und weshalb kann ich das Constraint nicht hinzufügen?

von Εrnst B. (ernst)


Lesenswert?

Jonas N. schrieb:
> und weshalb kann ich das Constraint nicht hinzufügen?

Weil deine Daten eine Festplatte in Gehäuse # 2 enthalten, es aber kein 
Gehäuse #2 gibt.

von Jonas N. (medustv)


Lesenswert?

Danke hab jetzt endlich herausgefunden was du meinst Dankeschön du hast 
meinen Tag gerettet :)

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Auch wenns nichts zur Problemlösung beiträgt: Aber nenne das 
Festplattengehäuse nicht "case" weil das in der Programmierung schnell 
als Fall/Bedingung interpretiert werden kann. Nimm lieber "enclosure" 
oder "bay" wenn mehrere Platten in einer enclosure vorhanden sein 
können.

von Jens G. (jensig)


Lesenswert?

Ben B. schrieb:
> Auch wenns nichts zur Problemlösung beiträgt: Aber nenne das
> Festplattengehäuse nicht "case" weil das in der Programmierung schnell
> als Fall/Bedingung interpretiert werden kann. Nimm lieber "enclosure"
> oder "bay" wenn mehrere Platten in einer enclosure vorhanden sein
> können.

Wieso denn das? Beides sind doch völlig unterschiedliche Kontexte. Das 
eine ist Code, das andere SQL, bzw. einfach nur ein String.

von Jan H. (j_hansen)


Lesenswert?

Jens G. schrieb:
> Wieso denn das? Beides sind doch völlig unterschiedliche Kontexte. Das
> eine ist Code, das andere SQL, bzw. einfach nur ein String.

SQL ist Code!
1
SELECT *
2
FROM case

MÖÖP!

Ich durfte einmal bei einer SQL-lastigen Software mitarbeiten, deren 
zentrale Auftragstabelle "order" genannt wurde. Kein Weltuntergang, aber 
immer wieder mal lästig.

von Schlaumaier (Gast)


Lesenswert?

Jan H. schrieb:
> Kein Weltuntergang, aber
> immer wieder mal lästig.

JO. Genau so wie Sonderzeichen in Tabellen-Namen. Ich musste tatsächlich 
googlen um heraus zu finden das man die nur ansprechen kann wenn man den 
Tabellenamen in Anführungszeichen setzt.  Hat mich 3 Std. gedauert bis 
ich die Ursache für "Tabelle nicht gefunden" heraus gefunden habe.

Manche Leute sind zu doof eine Tabelle anzulegen aber dann SQL machen.

von Jens G. (jensig)


Lesenswert?

Jan H. schrieb:
> Jens G. schrieb:
>> Wieso denn das? Beides sind doch völlig unterschiedliche Kontexte. Das
>> eine ist Code, das andere SQL, bzw. einfach nur ein String.
>
> SQL ist Code!
>

Nö. Zumindest nicht im Sinne einer Programmiersprache, wenn wir von 
Standard-SQL ausgehen.

>
1
> SELECT *
2
> FROM case
3
>
>
> MÖÖP!
>
> Ich durfte einmal bei einer SQL-lastigen Software mitarbeiten, deren
> zentrale Auftragstabelle "order" genannt wurde. Kein Weltuntergang, aber
> immer wieder mal lästig.

Wieso MÖÖP? Wenn Deine Datenbank nicht den Kontext auseinanderhalten 
kann, dann ist das eben Pech. Notfalls kann man ja noch mit Gänsefüßchen 
um den Namen aushelfen.

Schlaumaier schrieb:
> Jan H. schrieb:
>> Kein Weltuntergang, aber
>> immer wieder mal lästig.
>
> JO. Genau so wie Sonderzeichen in Tabellen-Namen. Ich musste tatsächlich
> googlen um heraus zu finden das man die nur ansprechen kann wenn man den
> Tabellenamen in Anführungszeichen setzt.  Hat mich 3 Std. gedauert bis
> ich die Ursache für "Tabelle nicht gefunden" heraus gefunden habe.
>
> Manche Leute sind zu doof eine Tabelle anzulegen aber dann SQL machen.

Das ist ein Problem der Shell (wenn man's direkt auf Shell benutzt), die 
Sonderzeichen interpretiert, und damit den Namen verkrüppelt. Die 
"DOS"-Box unter Windows ist da weniger aggressiv.

von (prx) A. K. (prx)


Lesenswert?

Jens G. schrieb:
> Zumindest nicht im Sinne einer Programmiersprache, wenn wir von
> Standard-SQL ausgehen.

In diesem Kontext ist Code ein Oberbegriff von Programmcode.

Programmcode ist zudem nicht zwangsläufig ablaufbeschreibend. Prolog ist 
zwar eine Programmiersprache, aber einen Ablauf beschreibt das Programm 
nicht, sondern eine Datenbank aus Fakten und Regeln.

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.