Zum Inhalt springen

Sql


ZeroJ

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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) )

Link zu diesem Kommentar
Auf anderen Seiten teilen

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 ?

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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 ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

^^ 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:

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

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...