PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : einige fragen zu sql



jeroen
03-10-2003, 11:32
hi,

ich hab mal ein paar fragen zu sql befehlen:

1.) warum funzt folgender befehl nicht:
CREATE TABLE text (name VARCHAR(20), messag VARCHAR(20));



weiter fragen folgen


danke
jeroen

Christoph
03-10-2003, 12:13
"text" ist ein Datentyp, also ein reserviertes Schlüsselwort.
Wenn Du trotzdem eine Tabelle dieses Namens anlegen willst
(wovon ich abraten würde!), dann musst Du den Tabellennamen
in doppelte Anführungszeichen (ein "quoted Identifier") setzen.

Berufspenner
03-10-2003, 12:24
Original geschrieben von Christoph
"text" ist ein Datentyp, also ein reserviertes Schlüsselwort.
Wenn Du trotzdem eine Tabelle dieses Namens anlegen willst
(wovon ich abraten würde!), dann musst Du den Tabellennamen
in doppelte Anführungszeichen (ein "quoted Identifier") setzen. Komisch, bei mir klappt es, wenn ich diese Tabelle in einer Datenbank erstelle.

Cu
André

jeroen
03-10-2003, 12:28
mmm bei funzt es nicht so sieht der fehler aus :

mysql> CREATE TABLE key (name VARCHAR(20), serial VARCHAR(20));
ERROR 1064: You have an error in your SQL syntax near 'key (name VARCHAR(20), serial VARCHAR(20))' at line 1

danke für jeden support


jeroen

Berufspenner
03-10-2003, 12:36
Hi@all

Hmm, bei mir sieht es dann so aus
mysql> CREATE TABLE text (name VARCHAR(20), messag VARCHAR(20));
Query OK, 0 rows affected (0.01 sec)

mysql> EXPLAIN text;
+--------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| name | varchar(20) | YES | | NULL | |
| messag | varchar(20) | YES | | NULL | |
+--------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)

mysql>
Das ganze auf einem 4.0.14er MySQL Server, aber das sollte kein Grund sein. Hast du denn auch die passenden rechte? Ich mache das ganze als DB-Server Admin.

Cu
André

jeroen
03-10-2003, 14:58
mmm ok

das was oben beschrieben wurde mit der table test funzt jetzt aber wenn ich ein table wi folgt an legt kommt das


mysql> CREATE TABLE key (name VARCHAR(20), serial VARCHAR(20));
ERROR 1064: You have an error in your SQL syntax near 'key (name VARCHAR(20), serial VARCHAR(20))' at line 1


wo liegt der fehler



danke
jeroen

Berufspenner
03-10-2003, 15:01
Hi@all

Kleine Frage: In welcher Datenbank willst du denn diese Tabelle erstellen? Bist du denn auch in diese Datenbank mit "USE datenbankname;" gewechselt?

Cu
André

jeroen
03-10-2003, 15:23
ich hab jetzt mit use die datenbank ausgewählt ! Der fehler ist immer noch da

Berufspenner
03-10-2003, 15:29
Hi@all

Nimm mal statt "key" z.B. "mykey" oder so als Tabellenname. Scheint als hättest du da ein "geschütztes" Wort benutzt.

Cu
André

jeroen
03-10-2003, 18:40
das andert nix aber was sagt ihr hier zu:


mysql> create table pet (name varchar(20), art varchar(20), geburstag DATE);
Query OK, 0 rows affected (0.00 sec)

mysql> create table key (name varchar(20), keys varchar(20), datum DATE);
ERROR 1064: You have an error in your SQL syntax near 'key (name varchar(20), keys varchar(20), datum DATE)' at line 1


danke
jeroen

Berufspenner
03-10-2003, 19:02
Hi@all

Ich denke mal, dass es was mit dem Name "key" zu tun hat. Wird wohl, wie schon gesagt, ein reservierter ausdruck sein.

Cu
André

jeroen
03-10-2003, 19:06
ok danke jetzt funzt es

Berufspenner
03-10-2003, 19:13
Original geschrieben von jeroen
ok danke jetzt funzt es nur so aus Neugierde: was war es denn jetzt genau?

Cu
André

jeroen
04-10-2003, 09:48
das wird ein private datenbank für die serials für software (ich verliehre die immer) !

ok gleich kommt noch ne frage !

jeroen
04-10-2003, 09:59
ok nächste frage

ich hab folgende datenbank erstellt:

->CREATE DATABASE gaestebuch;
->GRANT SELECT,INSERT,UPDATE,DELETE,CREATE ON gaestebuch.* TO user IDENTIFIED BY 'dummy';
->USE gaestebuch;
->CREATE TABLE daten (name TEXT, email TEXT, eintrag LONGTEXT);


die php scripts liegen im anhang !

Beim Ausführen kommt folgender Fehler:

Warning: Access denied for user: 'user@localhost' (Using password: YES) in /server/web/addentry.php on line 15

Warning: MySQL Connection Failed: Access denied for user: 'user@localhost' (Using password: YES) in /server/web/addentry.php on line 15

Warning: Supplied argument is not a valid MySQL-Link resource in /server/web/addentry.php on line 21
Eintrag hinzugefügt



danke
jeroen

Berufspenner
04-10-2003, 10:39
Hi@all

Also ehrlichgesagt finde ich keinen wirklichen Fehler. Er mekert ja eigentlich nur, weil angeblich das Passwort falsch ist. Aber das kann eigentlich nicht sein. Ich kann es jetzt aber leider nicht testen, weil ich meinen Server grade erst neu aufsetze. Wenn ich soweit bin kann ich es ja nochmal testen. Aber bis jetzt sieht eigentlich alles richtig aus. Mhh, komisch.

Cu
André

jeroen
04-10-2003, 11:29
ok danke

kannst du mir dann noch ne lösung sagen ?



danke für den support
jeroen