Login  Regeln Aktuelles Datum und Uhrzeit: 21.11.2008, 09:30  
Startseite
Registrieren
Profil
Suchen
Mitgliederliste
Verzeichnis
Impressum



Partner
kostenlose Homepage
Fussball
Kostenloses Forum
SMS kostenlos
Webhosting
Webmasterportal
Kostenlos
Kredit ohne Schufa
Esoterik-Forum
Selbsthilfeforum
Artikel Backlink
Datenrettung
Mysql Error

 
Neues Thema eröffnen   Neue Antwort erstellen    Webmaster Forum -> Serverseitige Websprachen
Vorheriges Thema anzeigen Nächstes Thema anzeigen 
Autor Nachricht
powerup
Stammuser [User]
Stammuser



Anmeldung: 21.07.08
Beiträge: 35
Wohnort: Düsseldorf ...

BeitragVerfasst am: 21.07.2008, 18:07    Titel: Mysql Error Antworten mit Zitat

Guten Tag,

ich bin ein Arbeiter von einer Firma und schreibe hier einen Mysql Script für unsere Website. Nur leider ist etwas schief gegangen:


Wenn ich im meinem phpMyAdmin das Script reinschreibe und dann ihn speichere, kommt ein Error:
SQL query:

CREATE TABLE accounts(
id INT( 11 ) DEFAULT '0' NOT NULL AUTO_INCREMENT ,
user_id INT( 11 ) DEFAULT '0' NOT NULL ,
popserver VARCHAR( 255 ) ,
poplogin VARCHAR( 255 ) ,
poppwd VARCHAR( 255 ) ,
fromname VARCHAR( 255 ) ,
replyto VARCHAR( 255 ) ,
name VARCHAR( 255 ) NOT NULL ,
keep TINYINT( 1 ) DEFAULT '0' NOT NULL ,
PRIMARY KEY ( id )
);


MySQL said:

#1067 - Invalid default value for 'id'


Nun ich bin natürlich interresiert was da los ist! Hier ist der ganze Code:

Code:
# --------------------------------------------------------
#
#
#


CREATE TABLE accounts (
   id int(11) DEFAULT '0' NOT NULL auto_increment,
   user_id int(11) DEFAULT '0' NOT NULL,
   popserver varchar(255),
   poplogin varchar(255),
   poppwd varchar(255),
   fromname varchar(255),
   replyto varchar(255),
   name varchar(255) NOT NULL,
   keep tinyint(1) DEFAULT '0' NOT NULL,
   PRIMARY KEY (id)
);


# --------------------------------------------------------
#
#
#


CREATE TABLE addresses (
   id int(11) DEFAULT '0' NOT NULL auto_increment,
   email varchar(255) NOT NULL,
   name varchar(255) NOT NULL,
   address1 varchar(255),
   address2 varchar(255),
   town varchar(255),
   state varchar(255),
   country varchar(255),
   phone varchar(255),
   mobile varchar(255),
   homepage varchar(255),
   user_id int(11),
   nickname varchar(255),
   lastname varchar(255),
   zip varchar(16),
   blocked tinyint(4) DEFAULT '0',
   quickclick tinyint(1) DEFAULT '1' NOT NULL,
   groups varchar(255),
   PRIMARY KEY (id)
);


# --------------------------------------------------------
#
#
#


CREATE TABLE conf (
   id int(11) DEFAULT '0' NOT NULL auto_increment,
   user_id int(11) DEFAULT '0' NOT NULL,
   keep tinyint(1),
   server_del tinyint(1),
   auto_check tinyint(1),
   signature text,
   app_sig tinyint(1),
   send_direct tinyint(1),
   add_address tinyint(4),
   mail_rows int(11) DEFAULT '20' NOT NULL,
   mails_per_page int(11) DEFAULT '20' NOT NULL,
   language varchar(20) DEFAULT 'english' NOT NULL,
   subject_size int(11) DEFAULT '50' NOT NULL,
   address_size int(11) DEFAULT '20' NOT NULL,
   check_int int(11) DEFAULT '15' NOT NULL,
   view tinyint(4) DEFAULT '0',
   mailview tinyint(4) DEFAULT '0',
   welcome tinyint(1) DEFAULT '0' NOT NULL,
   side_address tinyint(1) DEFAULT '0' NOT NULL,
   side_nav tinyint(1) DEFAULT '1' NOT NULL,
   skins text,
   empty_folders text,
   addsort text,
   PRIMARY KEY (id),
   UNIQUE user_id (user_id)
);


# --------------------------------------------------------
#
#
#


CREATE TABLE config (
   signuptype char(1),
   authtype char(1),
   delimiter varchar(50),
   allowaccount char(1),
   allowgeneral char(1),
   popname varchar(50),
   greeting varchar(50),
   titlebar varchar(50),
   browsertitle varchar(50),
   spellchecker char(1),
   dictionaryurl varchar(255),
   domainlist text,
   acceptdomain char(1),
   maximumsize varchar(25)
);

# --------------------------------------------------------
#
#
#


CREATE TABLE filters (
   id int(11) DEFAULT '0' NOT NULL auto_increment,
   user_id int(11),
   content varchar(255) NOT NULL,
   field varchar(255) NOT NULL,
   tofolder varchar(255) NOT NULL,
   PRIMARY KEY (id)
);




# --------------------------------------------------------
#
#
#


CREATE TABLE tasks (
   taskid int(9) DEFAULT '0' NOT NULL auto_increment,
   name varchar(50) NOT NULL,
   date date DEFAULT '0000-00-00' NOT NULL,
   time varchar(9),
   task varchar(255) NOT NULL,
   print varchar(9),
   ttitle varchar(255) NOT NULL,
   PRIMARY KEY (taskid)
);


# --------------------------------------------------------
#
#
#


CREATE TABLE users (
   id int(11) DEFAULT '0' NOT NULL auto_increment,
   name varchar(255) NOT NULL,
   pwd varchar(255),
   email varchar(255),
   activated tinyint(4),
   lastlogin datetime,
   PRIMARY KEY (id),
   UNIQUE name (name)
);



Ich hoffe ihr könnt mir helfen! Traurig


Gruß,
PowerUp


Nach oben
Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
JFM
Beliebter [User]
Beliebter



Anmeldung: 25.09.05
Beiträge: 417
Wohnort: Gütersloh

BeitragVerfasst am: 21.07.2008, 18:16    Titel: Antworten mit Zitat

AUTO_INCREMENT bedeutet doch, das automatisch hochgezählt wird oder?

Dann solte ein default '0' nicht möglich sein oder.

Was passiert wenn du die Zeile

Zitat:
id INT( 11 ) DEFAULT '0' NOT NULL AUTO_INCREMENT ,

in
Code:

 id INT( 11 ) NOT NULL AUTO_INCREMENT ,


änderst?

_________________
http://www.onestripe.de


Nach oben
Private Nachricht senden Website dieses Benutzers besuchen
powerup
Stammuser [User]
Stammuser



Anmeldung: 21.07.08
Beiträge: 35
Wohnort: Düsseldorf ...

BeitragVerfasst am: 21.07.2008, 18:22    Titel: Antworten mit Zitat

Ja, da ändert sich was. Aber es kommt trotzdem ein error. Traurig

Der sieht so aus:

SQL query:

CREATE TABLE config(
signuptypeCHAR( 1 ) ,
authtypeCHAR( 1 ) ,
delimiter VARCHAR( 50 ) ,
allowaccountCHAR( 1 ) ,
allowgeneralCHAR( 1 ) ,
popname VARCHAR( 50 ) ,
MySQL said:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'allowaccount char(1),
allowgeneral char(1),
popname' at line 1


Nach oben
Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
benjam4
Bekannter [Mod]
Bekannter



Anmeldung: 17.05.06
Beiträge: 1311
Wohnort: Ostfildern ...

BeitragVerfasst am: 21.07.2008, 20:37    Titel: Antworten mit Zitat

und wenn du als standard mal 1 statt 0 vorgibst?
vielleicht beisst sich das '0' mit dem "not null"

ansonsten erstell die Tabelle mal von hand mit phpmyadmin, und kopier dir dann den angezeigten Code.

_________________
Rechtschreibfehler sind beabsichtigt, sie dienen der Verschleiherung meiner tatsächlichen Genialität Smilie
____________________________________
Eine Signatur sie alle zu knechten


Nach oben
Private Nachricht senden Website dieses Benutzers besuchen
powerup
Stammuser [User]
Stammuser



Anmeldung: 21.07.08
Beiträge: 35
Wohnort: Düsseldorf ...

BeitragVerfasst am: 22.07.2008, 07:14    Titel: Antworten mit Zitat

Nichts, es kommt wieder der gleiche Error Verrückt
SQL query:

CREATE TABLE accounts(
id INT( 11 ) DEFAULT '1' NOT NULL AUTO_INCREMENT ,
user_id INT( 11 ) DEFAULT '1' NOT NULL ,
popserver VARCHAR( 255 ) ,
poplogin VARCHAR( 255 ) ,
poppwd VARCHAR( 255 ) ,
fromname VARCHAR( 255 ) ,
replyto VARCHAR( 255 ) ,
name VARCHAR( 255 ) NOT NULL ,
keep TINYINT( 1 ) DEFAULT '1' NOT NULL ,
PRIMARY KEY ( id )
);


MySQL said:

#1067 - Invalid default value for 'id'

Ich muss das bis Freitag fertig haben

Geschockt Geschockt Ausrufezeichen


Nach oben
Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
maudim02
Helfer [User]
Helfer



Anmeldung: 30.09.06
Beiträge: 158

BeitragVerfasst am: 22.07.2008, 07:43    Titel: Antworten mit Zitat

probier mal die anführungszeichen weglassen... afaik ist alles was unter anführungszeichen ('') steht, ein string bzw. char, aber da id ja ein integer feld is hats dort wahrscheinlich was Smilie kA obs funktioniert, aber da könnts sein Winken

Nach oben
Private Nachricht senden
powerup
Stammuser [User]
Stammuser



Anmeldung: 21.07.08
Beiträge: 35
Wohnort: Düsseldorf ...

BeitragVerfasst am: 22.07.2008, 12:22    Titel: Antworten mit Zitat

Schon ok! Wir haben lieber stattdessen einen fertigen Script in unsere Website eingefügt! Lachen

TROTZDEM DANKE FÜR DIE HILFE;)




Gruß,
PowerUp


Nach oben
Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
powerup
Stammuser [User]
Stammuser



Anmeldung: 21.07.08
Beiträge: 35
Wohnort: Düsseldorf ...

BeitragVerfasst am: 25.07.2008, 16:57    Titel: Antworten mit Zitat

ich weiss jetzt wieso es nicht funktionierte! auto_increment braucht immer primary
und das hab ich nicht gemacht. Also merkt euch: wenn ihr auto_increment benutzt,
immer ein key für die zeile setzten!


Nach oben
Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Nasenbaer
Neuer [User]
Neuer



Anmeldung: 06.08.08
Beiträge: 3
Wohnort: Schweiz

BeitragVerfasst am: 06.08.2008, 13:10    Titel: Antworten mit Zitat

Zitat:
_increment braucht immer primary
und das hab ich nicht gemacht.
Cool, wusste ich auch nicht.

Nach oben
Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Engelskind
Neuer [User]
Neuer



Anmeldung: 06.08.08
Beiträge: 2

BeitragVerfasst am: 06.08.2008, 15:34    Titel: Antworten mit Zitat

So etwas sollte man aber dringend wissen, wenn man mit MySQL arbeitet.

Access ist da auch ned anders. Dort muss auch bei der Erstellung ein Primärschlüssel vergeben werden.

LG


Nach oben
Private Nachricht senden
800XE
Bekannter [Mod]
Bekannter



Anmeldung: 24.10.04
Beiträge: 1379
Wohnort: Speyer

BeitragVerfasst am: 06.08.2008, 16:09    Titel: Antworten mit Zitat

Nasenbaer hat folgendes geschrieben:
Zitat:
_increment braucht immer primary
und das hab ich nicht gemacht.
Cool, wusste ich auch nicht.

es muß ein "unique" sein .... es muß kein "primär" sein

Code:

CREATE TABLE filters (
   id int(11) NOT NULL auto_increment,
   user_id int(11),
   content varchar(255) NOT NULL,
   field varchar(255) NOT NULL,
   tofolder varchar(255) NOT NULL,
   UNIQUE id (id)
)

tut auch


benjam4 hat folgendes geschrieben:
und wenn du als standard mal 1 statt 0 vorgibst?
vielleicht beisst sich das '0' mit dem "not null"

habs eben in phpmyAdmin rein ... hat auch wegen dem .. da oben, war auch ein default 0 bei der id .... phpmyA hat gemotzt

und bei diesem "NULL" sollte man ganz dolle aufpassen
hat mich auch schon furschbar generft ....

ähm ... da war glaub ein "DELETE ... WHERE zahl < 1
aber es wurden nicht alle gelöscht, weil einige NULL waren
und NULL != 0
NULL = unbekannt=undefiniert


"UPDATE ... SET zahl = 0 WHERE zahl IS NULL
"DELETE ... WHERE zahl < 1

_________________
Seien wir realistisch, versuchen wir das Unmögliche!
CMS800 :::::::::: Andy 800XE Zmuda :::::::::
ich bin nicht unhöflich, ich bin binär


Nach oben
Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

Gehe zu:  

Ähnliche Beiträge
Thema Autor Forum Antworten Verfasst am
Keine neuen Beiträge Mysql update funktioniert nicht powerup Serverseitige Websprachen 3 22.10.2008, 18:01 Letzten Beitrag anzeigen
Keine neuen Beiträge Php skript im MYSQL einbinden sunnyboy881 Serverseitige Websprachen 1 24.09.2008, 07:37 Letzten Beitrag anzeigen
Keine neuen Beiträge Belastung / Performance von MySQL Dat... placido Serverseitige Websprachen 9 16.09.2008, 10:35 Letzten Beitrag anzeigen
Keine neuen Beiträge Wie funktioniert MYSQL und PHP sunnyboy881 Serverseitige Websprachen 1 13.09.2008, 14:47 Letzten Beitrag anzeigen
Keine neuen Beiträge MySQL Feldinhalte aufteilen placido Serverseitige Websprachen 11 11.09.2008, 13:39 Letzten Beitrag anzeigen
Threadübersicht