Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo, da ich erst in der Ausbildung (2tes Jahr) bin habe ich noch nicht soviele sql Kenntnisse von sql.

Es wäre nett, wenn mir jemand erklärt was ich falsch gemacht habe :)

CREATE TABLE users ( UserID int(11) PRIMARY KEY auto_increment,

UserName varchar(30) NOT NULL default '', UserPass varchar(32) NOT NULL

default '', UserSession varchar(32), UserMail varchar(150) NOT NULL default

'', UNIQUE KEY NickName (UserName), UNIQUE KEY UserMail (UserMail) )

SQL-Befehl :

CREATE TABLE users ( UserID int(11) PRIMARY KEY auto_increment, UserName varchar(30) NOT NULL default \'\', UserPass varchar(32) NOT NULL default \'\', UserSession varchar(32), UserMail varchar(150) NOT NULL default \'\', UNIQUE KEY NickName (UserName), UNIQUE KEY UserMail (UserMail) )

MySQL meldet:

#1064 - You have an error in your SQL syntax near '\'\', UserPass varchar(32) NOT NULL

default \'\', UserSession varchar(32), Use' at line 2

Geschrieben
wofür sind die \'\' ?

CREATE TABLE users ( UserID int(11) PRIMARY KEY auto_increment,

UserName varchar(30) NOT NULL default '', UserPass varchar(32) NOT NULL

default '', UserSession varchar(32), UserMail varchar(150) NOT NULL default

'', UNIQUE KEY NickName (UserName), UNIQUE KEY UserMail (UserMail) )

Geschrieben
CREATE TABLE users ( UserID int(11) PRIMARY KEY auto_increment,

UserName varchar(30) NOT NULL default '', UserPass varchar(32) NOT NULL

default '', UserSession varchar(32), UserMail varchar(150) NOT NULL default

'', UNIQUE KEY NickName (UserName), UNIQUE KEY UserMail (UserMail) )

Bedeutet es funktioniert jetzt oder es bestehen noch Fragen oder kommt eine neue Fehlermeldung ?

Geschrieben
MySQL meldet:

#1064 - You have an error in your SQL syntax near '\'\', UserPass varchar(32) NOT NULL

default \'\', UserSession varchar(32), Use' at line 2

Diese Fehlermeldung bedeutet das er sich an den \'\' stört.

Da die nun entfernt wurden müsste es eine Neue Fehlermeldung geben oder das Statement müsste funktionieren

Geschrieben

Also ich habe:

Ich habe /'/' nicht eingegeben nur '', wie hier unten steht:


CREATE TABLE users ( UserID int(11) PRIMARY KEY auto_increment,

UserName varchar(30) NOT NULL default '', UserPass varchar(32) NOT NULL

default '', UserSession varchar(32), UserMail varchar(150) NOT NULL default

'', UNIQUE KEY NickName (UserName), UNIQUE KEY UserMail (UserMail) )

, dadurch wird dieser Fehler erzeugt:

ERROR: Nicht geschlossene Anführungszeichen @ 103

STR: '

SQL: CREATE TABLE users ( UserID int(11) PRIMARY KEY auto_increment,

UserName varchar(30) NOT NULL default \'\', UserPass varchar(32) NOT NULL

default \'\', UserSession varchar(32), UserMail varchar(150) NOT NULL default

\'\', UNIQUE KEY NickName (UserName), UNIQUE KEY UserMail (UserMail) )

SQL-Befehl :

CREATE TABLE users ( UserID int(11) PRIMARY KEY auto_increment, UserName varchar(30) NOT NULL default \'\', UserPass varchar(32) NOT NULL default \'\', UserSession varchar(32), UserMail varchar(150) NOT NULL default \'\', UNIQUE KEY NickName (UserName), UNIQUE KEY UserMail (UserMail) )

MySQL meldet:

#1064 - You have an error in your SQL syntax near '\'\', UserPass varchar(32) NOT NULL

default \'\', UserSession varchar(32), UserM' at line 2

Geschrieben

Ich kann mir das nur so erklären.

Er erkennt das du einen String als Default Wert vorgeben möchtest. Dieser String ist allerdings leer. Da zwischen den '' nichts steht. Das kann so aber nicht sein also wird das nächste ' als String interpretiert.

Daraus folgt das ihm das abschließende ' fehlt.

Allerdings stelle ich die Vorgehensweise ansich in Frage.

Not null schreibt einen Wert vor und du willst diesen Standardmäßig auf einen Leerstring setzen. Das ermöglicht das anlegen von Usern ohne name und passwort. Das kann ja nicht deine Intution sein ;)

Geschrieben

Vielen Dank hast mir sehr geholfen ^^

...habs geändert aber jetzt kommt immernoch

#1064 - You have an error in your SQL syntax near '\'Name\', UserPass varchar(32) \'Passwort\', UserSession varchar(32), UserMail v' at line 1

:D

Geschrieben

CREATE TABLE users ( UserID int(11) PRIMARY KEY auto_increment,

UserName varchar(30) NOT NULL '', UserPass varchar(32) NOT NULL

'', UserSession varchar(32), UserMail varchar(150) NOT NULL

'', UNIQUE KEY NickName (UserName), UNIQUE KEY UserMail (UserMail) )

fehler:


ERROR: Nicht geschlossene Anführungszeichen @ 97

STR: '

SQL: CREATE TABLE users ( UserID int(11) PRIMARY KEY auto_increment,

  UserName varchar(30) NOT NULL \'\', UserPass varchar(32) NOT NULL

  \'\', UserSession varchar(32), UserMail varchar(150) NOT NULL 

  \'\', UNIQUE KEY NickName (UserName), UNIQUE KEY UserMail (UserMail) )


SQL-Befehl : 


CREATE TABLE users ( UserID int(11) PRIMARY KEY auto_increment, UserName varchar(30) NOT NULL \'\', UserPass varchar(32) NOT NULL \'\', UserSession varchar(32), UserMail varchar(150) NOT NULL \'\', UNIQUE KEY NickName (UserName), UNIQUE KEY UserMail (UserMail) )


MySQL meldet:

#1064 - You have an error in your SQL syntax near '\'\', UserPass varchar(32) NOT NULL

  \'\', UserSession varchar(32), UserMail va' at line 2


falls ich eine Zahl zwischen '', setzte --> 'a',

#1064 - You have an error in your SQL syntax near '\'a\', UserPass varchar(32) NOT NULL

\'b\', UserSession varchar(32), UserMail ' at line 2

kann das so funktionieren.

Ich habe mal den Default wer herausgenommen.

Aber ich möchte, dass man pw und username eingeben muss also steht es auf NOT NULL. Der Nickname/email muss einzigartig sein also UNIQUE.

Geschrieben

Ich habe mal den Default wer herausgenommen.

Dann solltest du auch die '' entfernen. Zur Zeit erstellst du erst die Tabelle. Mit Daten wird sie später gefüllt.

Geschrieben

CREATE TABLE users(

UserID int( 11 ) PRIMARY KEY AUTO_INCREMENT ,

UserName varchar( 30 ) NOT NULL ,

UserPass varchar( 32 ) NOT NULL ,

UserSession varchar( 32 ) ,

UserMail varchar( 150 ) NOT NULL ,

UNIQUE KEY NickName( UserName ) ,

UNIQUE KEY UserMail( UserMail )

)

so hats funktioniert ty

Geschrieben

^^ ich danke dir das du dir soviel zeit nimmst.

Ich dachte mir, ich sollte mal n admin in die Tabelle einfügen:

(passwort natürlich verändert :) )


ERROR: Unbekannte Interpunktion @ 31

STR: =\

SQL: INSERT INTO users SET UserName=\'admin\', UserPass=MD5(\'passwort\'),

  UserMail=\'admingfu@msn.com\'


SQL-Befehl : 


INSERT INTO users SET UserName=\'admin\', UserPass=MD5(\'passwort\'), UserMail=\'admingfu@msn.com\'


MySQL meldet:

#1064 - You have an error in your SQL syntax near '\'admin\', UserPass=MD5(\'passwort\'),

  UserMail=\'admingfu@msn.com\'' at line 1 

irgendwie funktioniert nichts was ich mache :confused:

Geschrieben

Ich hab noch nie mit dem SET Befehl gearbeitet.

Aber versuche es doch mal so


INSERT INTO users

(UserName,UserPass,UserMail) VALUES

('admin',MD5('passwort'),'admingfu@msn.com');

Geschrieben

Also ich würde das so machen:

INSERT INTO users SET UserName="admin", UserPass=MD5("passwort"), UserMail="admingfu@msn.com"

Wie kommst du eigentlich auf die ganzen \ :confused:

...und überhaupt: Wo gibst du deine SQL-Befehle ein, im Query-Browser?

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...