art-d-sign
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 20.03.2008, 19:47   #1
TP-Junior
 
Registriert seit: Mar 2002
Ort: Hof
ASchwiedy macht alles soweit korrekt

MySQL


Hallo,

kann es sein, dass man bei einer MySQL-Tabelle die Spalten nicht mit Zahlen benennen kann? Ich habe also eine Tabelle in der die Spalten 01,02,03 usw. heissen.

Jetzt möchte ich mittels UPDATE in ein Feld einer Spalte eine 1 eintragen lassen wo vorher z.B. eine 0 stand:

$sql=mysql_query("UPDATE tabellenname SET '01'='1' ");
oder auch
$sql=mysql_query("UPDATE tabellenname SET 01='1' ");
funktioniert nicht

Wenn ich die Spalte jedoch umbenenne z.B. in Test gehts mittels:
$sql=mysql_query("UPDATE tabellenname SET Test='1' ");


Andi
ASchwiedy ist offline   Mit Zitat antworten


Alt 20.03.2008, 20:07   #2
TP-Member
 
Benutzerbild von rafael
 
Registriert seit: Mar 2007
rafael macht alles soweit korrekt
Zitat:
Zitat von ASchwiedy Beitrag anzeigen
Hallo,

kann es sein, dass man bei einer MySQL-Tabelle die Spalten nicht mit Zahlen benennen kann? Ich habe also eine Tabelle in der die Spalten 01,02,03 usw. heissen.
Gute frage.


Klappt den ein:
Code:
$sql=mysql_query("UPDATE `tabellenname` SET `01`=1");
? Wenn auch nicht würde ich sagen, nein es ist nicht Möglich.

Viel Erfolg und schöne Ostern!

Rafael

P.S.: Vielleicht auch mals Rizzo's Tipps und Tricks bezüglich "MySQL und Backticks" lesen!
__________________
sizeof(void)
rafael ist offline   Mit Zitat antworten
Alt 20.03.2008, 20:16   #3
TP-Junior
 
Registriert seit: Mar 2002
Ort: Hof
ASchwiedy macht alles soweit korrekt

Nein


Danke aber das geht leider auch nicht. komisch, normalerweise dürfte es kein Problem sein
ASchwiedy ist offline   Mit Zitat antworten
Alt 20.03.2008, 22:12   #4
TP-Member
 
Benutzerbild von rafael
 
Registriert seit: Mar 2007
rafael macht alles soweit korrekt
Zitat:
Zitat von ASchwiedy Beitrag anzeigen
Danke aber das geht leider auch nicht. komisch, normalerweise dürfte es kein Problem sein
Gibt es keine Fehlermeldung? Stichwort: "mysql_errno()"
Stimmten Tabellenname / Spaltenname zu 100%?
Von was für einen Type ist die Spalte?Soll es ein andere Type als Zahl sein solltest du:
Code:
$sql=mysql_query("UPDATE `tabellenname` SET `01`='1'");
versuchen?
__________________
sizeof(void)
rafael ist offline   Mit Zitat antworten
Alt 21.03.2008, 00:37   #5
TP-Senior
 
Registriert seit: Dec 2006
threadi ist auf einem guten Weg
Imho können Spaltennamen nicht nur aus Zahlen bestehen.
threadi ist offline   Mit Zitat antworten
Alt 21.03.2008, 02:33   #6
TP-Member
 
Benutzerbild von rafael
 
Registriert seit: Mar 2007
rafael macht alles soweit korrekt
Zitat:
Zitat von threadi Beitrag anzeigen
Imho können Spaltennamen nicht nur aus Zahlen bestehen.
Falsch!


Code:
CREATE TABLE `testDB`.`test` (
`01` INT NOT NULL
) ENGINE = MyISAM
ergibt:
Code:
1 If field type is "enum" or "set", please enter the values using this format: 'a','b','c'...
If you ever need to put a backslash ("\") or a single quote ("'") amongst those values, precede it with a backslash (for example '\\xyz' or 'a\'b').

2 For default values, please enter just a single value, without backslash escaping or quotes, using this format: a
Code:
CREATE TABLE `testDB`.`test` (
`01` INT NOT NULL
) ENGINE = InnoDB
ergibt:
Code:
Table `testDB`.`test` has been created.
Also kommt es auf die Storage Engine an.

Bei der InnoDB klappt auch ein :

Code:
 INSERT INTO test( `01` )
VALUES ( 1 )
und ein
Code:
 UPDATE test SET `01` =111
Also InnoDB benutzen dann klappt es auch mit den Feldern nur aus Zahlen!
Aber immer schon die Backticks benutzen, sonst gibt es Probleme!

So gn8

Rafael
__________________
sizeof(void)
rafael ist offline   Mit Zitat antworten
Alt 21.03.2008, 04:54   #7
TP-Moderator
 
Benutzerbild von Rizzo
 
Registriert seit: Aug 2004
Ort: Kaiserslautern
Rizzo lebt für das TP und seine UserRizzo lebt für das TP und seine UserRizzo lebt für das TP und seine UserRizzo lebt für das TP und seine UserRizzo lebt für das TP und seine UserRizzo lebt für das TP und seine UserRizzo lebt für das TP und seine UserRizzo lebt für das TP und seine UserRizzo lebt für das TP und seine User
Hallo ASchwiedy,

Du solltest rein aus Prinzip darauf verzichten Felder in einer DB nur numerisch zu benennen. Zum einen hat man nicht immer Zugang zu InnoDB, weil viele Hoster nur MyISAM anbieten. Zum anderen kann es auch später in PHP zu Probleme führen. Der Feldname entspricht dem Variablenname in PHP, dort sind Variablen wie $4711 unzulässig. Auch der objektorientierte Aufruf $objekt->4711 nach mysql_fetch_object() führt zu einem Parse Error. Also müsstest Du die Felder mit Alias auslesen, weshalb Du den Feldern auch von vornherein einen ordentlichen Name geben kannst.
Rizzo ist gerade online   Mit Zitat antworten
Alt 22.03.2008, 15:03   #8
DSB
TP-Veteran
 
Benutzerbild von DSB
 
Registriert seit: Mar 2005
Ort: Oyten
DSB ist ein richtiges Arbeitstier - DANKEDSB ist ein richtiges Arbeitstier - DANKEDSB ist ein richtiges Arbeitstier - DANKEDSB ist ein richtiges Arbeitstier - DANKE
Und ganz abgesehen davon sollte der Spaltenname auch Rückschlüsse auf den Sinn eines Datenfeldes liefern, was bei '01' nun überhaupt nicht gegeben ist. Dann kannst Du auch alle Spalten mit a,b,c usw. benennen. Sowas macht man alleine aus Gründen der Verständlichkeit und Nachvollziehbarkeit der Logik schon nicht.
__________________
Gruß, DSB
Einfaches Backup/ Restore Deiner MySQl-Datenbank
DSB ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik
MySQL MySQL
« Suchbegriff aus Referer (google und co) | Ausrufezeichen »

Stichworte
datenbank, mysql

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Thema bewerten
Thema bewerten:

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 an
Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:45 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67