ZeroJ Geschrieben 10. Oktober 2006 Teilen Geschrieben 10. Oktober 2006 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
baba007 Geschrieben 10. Oktober 2006 Teilen Geschrieben 10. Oktober 2006 wofür sind die \'\' ? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
ZeroJ Geschrieben 10. Oktober 2006 Autor Teilen Geschrieben 10. Oktober 2006 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) ) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Pinhead Geschrieben 10. Oktober 2006 Teilen Geschrieben 10. Oktober 2006 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 ? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
ZeroJ Geschrieben 10. Oktober 2006 Autor Teilen Geschrieben 10. Oktober 2006 Ich habe es nur gepostet, weil er gefragt hat warum dort /'/' steht. Die Frage besteht immer noch. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Steffen3:16 Geschrieben 10. Oktober 2006 Teilen Geschrieben 10. Oktober 2006 Willst du mit den \'\' sagen das die Felder leer bleiben sollen, oder wie ist gemeint? Sonst lass die default-Sachen doch mal weg! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Pinhead Geschrieben 10. Oktober 2006 Teilen Geschrieben 10. Oktober 2006 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
ZeroJ Geschrieben 10. Oktober 2006 Autor Teilen Geschrieben 10. Oktober 2006 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Pinhead Geschrieben 10. Oktober 2006 Teilen Geschrieben 10. Oktober 2006 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
ZeroJ Geschrieben 10. Oktober 2006 Autor Teilen Geschrieben 10. Oktober 2006 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Pinhead Geschrieben 10. Oktober 2006 Teilen Geschrieben 10. Oktober 2006 Vielen Dank hast mir sehr geholfen ^^ ...habs geändert aber jetzt kommt immernoch Könntest du die geändert Abfrage auch noch posten Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
ZeroJ Geschrieben 10. Oktober 2006 Autor Teilen Geschrieben 10. Oktober 2006 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Pinhead Geschrieben 10. Oktober 2006 Teilen Geschrieben 10. Oktober 2006 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
ZeroJ Geschrieben 10. Oktober 2006 Autor Teilen Geschrieben 10. Oktober 2006 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
ZeroJ Geschrieben 10. Oktober 2006 Autor Teilen Geschrieben 10. Oktober 2006 ^^ 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: Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Pinhead Geschrieben 10. Oktober 2006 Teilen Geschrieben 10. Oktober 2006 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'); Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
grueni Geschrieben 10. Oktober 2006 Teilen Geschrieben 10. Oktober 2006 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? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Amstelchen Geschrieben 10. Oktober 2006 Teilen Geschrieben 10. Oktober 2006 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
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.