AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Darf in MySQL4 ein Tabellenname mit einer Zahl beginnen?
Thema durchsuchen
Ansicht
Themen-Optionen

Darf in MySQL4 ein Tabellenname mit einer Zahl beginnen?

Ein Thema von oejel · begonnen am 3. Mai 2004 · letzter Beitrag vom 5. Mai 2004
Antwort Antwort
oejel

Registriert seit: 17. Apr 2003
Ort: Wuppertal
3 Beiträge
 
Delphi 7 Professional
 
#1

Darf in MySQL4 ein Tabellenname mit einer Zahl beginnen?

  Alt 3. Mai 2004, 17:30
Hallöschen...

nach stundenlager Suche und einigen Wutanfällen später bin ich auf den Ursprung meines Übels gestossen.

Nach Systemcrash hatte ich Delphi neu installiert (logischerweise.. war ja nicht mehr da .
Da ich Zeos für den Zugriff auf MySQL nutze habe ich mir gedacht... Besorg dir mal die neueste Stable, also die 6.1.5.

Zu meinem erstaunen hat der Vesionsanstieg (ich hatte vorher 6.0.12) seiner Bedeutung alle Ehre gemacht. Hat sich ja enorm was verändert.

Ich also mein Projekt umgestrickt (was viel Arbeit bedeutete).
Als alles fertig war und ich meine "Arbeit" froh betrachtete, sprich laufen liess, stellte ich fest, das kein Update oder Insert möglich war. RequestLive stand auf true und die Rechte stimmten auch.

Lange Rede kurzer Sinn... Es lag daran das die Tabellenamen alle mit einer Zahl anfingen. Funktionierte aber unter Zeos 6.0.12 ohne Probs. Auch PhpMyAdmin und MySQL-Front hatten keine Probleme

Daher meine Frage:

Sind Tabellennamen die mit Zahlennamen anfangen erlaubt?? Ist das wohl ein Bug von Zeos? Oder ist es Verbrechen in SQL-Datenbanken Tabellennamen mit einer Zahl zu beginnen?

Sonst würd ich wohl nen Bug-Report an Zeos schicken.

Thx
oejel#uptime
oejel#10:00pm up 27 years, 1 user, load average: 4.99, 5.01, 5.00
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.032 Beiträge
 
Delphi 12 Athens
 
#2

Re: Darf in MySQL4 ein Tabellenname mit einer Zahl beginnen?

  Alt 3. Mai 2004, 18:32
Moin moin THX,

denke, das dies am SQL-#Parser in ZEOS liegt. Soweit ich das weiss hat Zeos auch noch Probleme mit selbst definierten Funktionen in Interbase/Firebird, da hierfür im Parser keine Schlüsselworte vorliegen. Das muss mal abwarten, schliesslich ist das keine ganz leichte Aufgabe was das ZEOS Team da angegangen ist.

Grüße // Martin
Martin Schaefer
  Mit Zitat antworten Zitat
oejel

Registriert seit: 17. Apr 2003
Ort: Wuppertal
3 Beiträge
 
Delphi 7 Professional
 
#3

Re: Darf in MySQL4 ein Tabellenname mit einer Zahl beginnen?

  Alt 3. Mai 2004, 19:00
Hallo Martin,

Ja. Die Entwicklung einer solchen leistungsstarken Komponentensammlung ist eine schwierige Aufgabe. Da geb ich dir Recht.

So war das auch nicht gemeint. Ich wollte halt nur wissen ob was dagegen spricht Tabellen mit Zahlen beginnen zu lassen z.B. weil es keinem Standart entspricht oder sowas in der Art.

Und.. bevor ich denen schreibe und ein "sowas macht man ja auch eigentlich nicht" ernte, wollt ich mal fragen.

btw.: thx stand eigentlich für thanks

Gruss Joerg
oejel#uptime
oejel#10:00pm up 27 years, 1 user, load average: 4.99, 5.01, 5.00
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.032 Beiträge
 
Delphi 12 Athens
 
#4

Re: Darf in MySQL4 ein Tabellenname mit einer Zahl beginnen?

  Alt 3. Mai 2004, 21:24
N´abend Jörg

so knapp vor Feierabend hat die Kombinatorik doch etwas gelitten. Aber denke eine nette Mail
mit dem Problem fällt ist üblicherweise willkommen. Dauert aber meist etwas bis eine Antwort kommt. Es doch ein recht kleines Team. Es ist schon eine weile her, da habe ich mich auch mal mit den Innereien von ZEOS beschäftigt und ich meine das der Parser auch Zahlen unterscheiden muß. Du kannst ja auch mit SQL rechnen und da ist es auch bei einigen Datenbanksystemen eher unglücklich die Tabellennamen mit einer Zahl anfangen zu lassen. In der Mitte und am Ende ist kein Problem. Behandel die Tabellennamen am besten wie einen Stringnamen in Delphi, damit läufst Du sicher.

Thx // Martin
Martin Schaefer
  Mit Zitat antworten Zitat
Quake

Registriert seit: 25. Aug 2003
222 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Darf in MySQL4 ein Tabellenname mit einer Zahl beginnen?

  Alt 5. Mai 2004, 15:24
Der Tabellenname darf mit einer Zahl anfangen, du mußt die Zahl nur ausschreiben.
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#6

Re: Darf in MySQL4 ein Tabellenname mit einer Zahl beginnen?

  Alt 5. Mai 2004, 15:37
Zitat von oejel:
Sind Tabellennamen die mit Zahlennamen anfangen erlaubt??
Wenn du dir Ärger einhandeln möchtest, dann verwende ruhig Tabellen- oder Feldnamen mit
Ziffern am Anfang.
Es ist möglich, man muss die Namen dann allerdings in SQL-Anweisungen in doppelte Anführungszeichen
setzen (bei Access & SQL-Server sind es eckige Klamern).

Wenn du später keine Probleme haben möchtest, dann wende einfach die gleichen Regeln an,
die Pascal & Delphi an Variablennamen stellen.
Ein Bezeichner muß mit einem Buchstaben oder einem Unterstrich (_) beginnen und darf keine Leerzeichen enthalten. Auf das erste Zeichen können Buchstaben, Ziffern und Unterstriche folgen. Max sollte nicht mehr als 64 Zeichen verwenden, auch wenn die Datenbank mehr zulässt.
Zusätzlich musst du reservierte Wörter unbedingt vermeiden !
SQL Reserved Words
Andreas
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:31 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz