Veröffentlicht 10. Oktober 200618 j 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
10. Oktober 200618 j 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) )
10. Oktober 200618 j 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 ?
10. Oktober 200618 j Ich habe es nur gepostet, weil er gefragt hat warum dort /'/' steht. Die Frage besteht immer noch.
10. Oktober 200618 j Willst du mit den \'\' sagen das die Felder leer bleiben sollen, oder wie ist gemeint? Sonst lass die default-Sachen doch mal weg!
10. Oktober 200618 j 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
10. Oktober 200618 j 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
10. Oktober 200618 j 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
10. Oktober 200618 j 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
10. Oktober 200618 j Vielen Dank hast mir sehr geholfen ^^ ...habs geändert aber jetzt kommt immernoch Könntest du die geändert Abfrage auch noch posten
10. Oktober 200618 j 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.
10. Oktober 200618 j 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.
10. Oktober 200618 j 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
10. Oktober 200618 j ^^ 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:
10. Oktober 200618 j 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');
10. Oktober 200618 j 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?
10. Oktober 200618 j du bist wohl fan von backslash. lass die generell überall raus und escape die einfachen hochkommas nur, wenn du sie in varchar-feldern haben willst. s'Amstel
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.