Spaltenname mit Leerstelle am Ende

Alles, was MySQL betrifft, kann hier besprochen werden.

Spaltenname mit Leerstelle am Ende

Postby itsmebib » 02. October 2009 08:44

Hallo,

beim Sever- und Datenbankumzug hat sich ein Problem ergeben.
Situation:
alter Server mysql mit mysql-4.0.13-win.zip installiert
neuer Server xampp XAMPP 1.7.2, MySQL 5.1.37
In der DB auf dem alten Server konnten problemlos Spalten mit dem Namen '#abc' oder '#00 ' (Leerstelle am Ende) angelegt werden. Typ text.
Auf dem neuen geht es problemlos mit '#abc', mit '#00 ' aber nicht.
Hat jemand eine Tipp für mich, wie ich das Problem lösen kann? Nein, die Spaltennamen ohne Leerstelle am Ende zu verwenden ist keine Lösung!

itsmebib
itsmebib
 
Posts: 10
Joined: 01. October 2009 11:39

Re: Spaltenname mit Leerstelle am Ende

Postby Stepke-DSL » 02. October 2009 08:51

seit wann nimmt man bei der vergabe von spaltennamen leerzeichen???
egal, zu deinem problem, versuch mal die spaltennamen in backticks zu setzen, also
Code: Select all
`xyz `
Stepke-DSL
 
Posts: 313
Joined: 12. July 2007 16:08
XAMPP Version: 5.6.3
Operating System: Win XP Pro SP3 + SuSe Linux

Re: Spaltenname mit Leerstelle am Ende

Postby itsmebib » 02. October 2009 09:15

Danke Stepke-DSL.
Ich habe schon verschiedene '`´" Anführungszeichen versucht. Nichts davon klappt auf dem neuen Server. Kann es an irgendeiner Konfigauration von mysql
liegen, oder einfach an der neuen Version, die das eben nicht mehr zuläßt.
Das ganze ist in ein php-Skript eingebettet, aber das schein nicht das Problem zu sein. Auf dem neuen Server will es einfach nicht funktionieren. Nicht per php, nicht per phpmyadmin (SQL), nicht per Kommandozeile.

istmebib - ratlos :cry:
itsmebib
 
Posts: 10
Joined: 01. October 2009 11:39

Re: Spaltenname mit Leerstelle am Ende

Postby Nobbie » 02. October 2009 10:07

Wer Spaltennamen mit Leerstellen verwendet ist selbst Schuld. Kein Mitleid.

Ich kann echt nicht begreifen, wie man sich so einen Schw***sinn einfallen lassen kann. Wie kommt man auf solche Ideen?
Nobbie
 
Posts: 7014
Joined: 09. March 2008 13:04

Re: Spaltenname mit Leerstelle am Ende

Postby itsmebib » 02. October 2009 10:12

Das mußt Du meinen Vorgänger fragen, was leider nicht mehr geht...
itsmebib
 
Posts: 10
Joined: 01. October 2009 11:39

Re: Spaltenname mit Leerstelle am Ende

Postby itsmebib » 02. October 2009 10:13

itsmebib wrote:Das mußt Du meinen Vorgänger fragen, was leider nicht mehr geht...


Grundsätzlich würde ich aber doch gerne wissen, warum der Schw***sinn auf dem einen System geht, auf dem anderen nicht.
itsmebib
 
Posts: 10
Joined: 01. October 2009 11:39

Re: Spaltenname mit Leerstelle am Ende

Postby Nobbie » 02. October 2009 10:17

Sicherlich ist es ein Fehler von MySQL (gewesen), dass man solche Spalten anlegen kann (konnte). Das ist nicht ANSI SQL gemäß, aber MySQL ist leider oft zu fehlertolerant.

Offensichtlich haben die Entwickler diesen Fehler inzwischen behoben.
Nobbie
 
Posts: 7014
Joined: 09. March 2008 13:04

Re: Spaltenname mit Leerstelle am Ende

Postby itsmebib » 02. October 2009 10:21

Dann weiß ich ja jetzt was ich zu tun habe - viele php-skripte ändern...
Danke für die Antworten

itsmebib
itsmebib
 
Posts: 10
Joined: 01. October 2009 11:39

Re: Spaltenname mit Leerstelle am Ende

Postby Nobbie » 02. October 2009 10:24

Rein aus Interesse: was haben denn Spaltennamen mit Leerstellen am Ende für einen technischen Vorteil? Wozu benötigt man so etwas? Derjenige, der sich das ausgedacht hat, muss sich ja irgendetwas vorteilhaftes dabei überlegt haben.
Nobbie
 
Posts: 7014
Joined: 09. March 2008 13:04

Re: Spaltenname mit Leerstelle am Ende

Postby itsmebib » 02. October 2009 10:47

Die Daten, die aus einem anderen System stammen, haben "Spaltenbezeichnungen" die mal "#00 " oder "#00a" heißen können. Dieses Datenpaket wird geparst, zerlegt und in eine mysql importiert. Die Spaltennamen ergeben sich aus den Spaltenbezeichnungen des anderen Systems. Das mit der Leerstelle ist vermutlich nicht willentlich entstanden - wenn die Vermutungen stimmen ging das halt problemlos mit einer alten mysql Version - bestenfalls halt "übersehen" worden. Aufbauend sind dann eben die php-Skripte geschrieben worden...
itsmebib
 
Posts: 10
Joined: 01. October 2009 11:39

Re: Spaltenname mit Leerstelle am Ende

Postby Nobbie » 02. October 2009 11:06

itsmebib wrote:Die Daten, die aus einem anderen System stammen, haben "Spaltenbezeichnungen" die mal "#00 " oder "#00a" heißen können.


Auch das ist doch wirklich wirr.

Das ganze sieht ziemlich danach aus, als wenn jemand ohne jede Kenntnis über Datendesign etwas zusammengeschustert hat. Solche Spaltennamen (= Entitäten oder Attribute von Entitäten) sind sinnfrei.
Nobbie
 
Posts: 7014
Joined: 09. March 2008 13:04


Return to MySQL

Who is online

Users browsing this forum: No registered users and 4 guests