Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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

wofür sind die \'\' ?

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

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 ?

Ich habe es nur gepostet, weil er gefragt hat warum dort /'/' steht.

Die Frage besteht immer noch.

Willst du mit den \'\' sagen das die Felder leer bleiben sollen, oder wie ist gemeint? Sonst lass die default-Sachen doch mal weg!

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

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

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

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

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.

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

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

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?

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.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.