|
 |
|
| Autor |
Nachricht |
powerup Stammuser [User]


Anmeldung: 21.07.08 Beiträge: 35 Wohnort: Düsseldorf ...
|
Verfasst am: 21.07.2008, 18:07 Titel: Mysql Error |
|
|
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!
Gruß,
PowerUp
|
|
| Nach oben |
|
 |
JFM Beliebter [User]


Anmeldung: 25.09.05 Beiträge: 417 Wohnort: Gütersloh
|
Verfasst am: 21.07.2008, 18:16 Titel: |
|
|
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 |
|
 |
powerup Stammuser [User]


Anmeldung: 21.07.08 Beiträge: 35 Wohnort: Düsseldorf ...
|
Verfasst am: 21.07.2008, 18:22 Titel: |
|
|
Ja, da ändert sich was. Aber es kommt trotzdem ein error.
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 |
|
 |
benjam4 Bekannter [Mod]


Anmeldung: 17.05.06 Beiträge: 1311 Wohnort: Ostfildern ...
|
Verfasst am: 21.07.2008, 20:37 Titel: |
|
|
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
____________________________________
Eine Signatur sie alle zu knechten
|
|
| Nach oben |
|
 |
powerup Stammuser [User]


Anmeldung: 21.07.08 Beiträge: 35 Wohnort: Düsseldorf ...
|
Verfasst am: 22.07.2008, 07:14 Titel: |
|
|
Nichts, es kommt wieder der gleiche Error
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

|
|
| Nach oben |
|
 |
maudim02 Helfer [User]


Anmeldung: 30.09.06 Beiträge: 158
|
Verfasst am: 22.07.2008, 07:43 Titel: |
|
|
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 kA obs funktioniert, aber da könnts sein 
|
|
| Nach oben |
|
 |
powerup Stammuser [User]


Anmeldung: 21.07.08 Beiträge: 35 Wohnort: Düsseldorf ...
|
Verfasst am: 22.07.2008, 12:22 Titel: |
|
|
Schon ok! Wir haben lieber stattdessen einen fertigen Script in unsere Website eingefügt!
TROTZDEM DANKE FÜR DIE HILFE;)
Gruß,
PowerUp
|
|
| Nach oben |
|
 |
powerup Stammuser [User]


Anmeldung: 21.07.08 Beiträge: 35 Wohnort: Düsseldorf ...
|
Verfasst am: 25.07.2008, 16:57 Titel: |
|
|
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 |
|
 |
Nasenbaer Neuer [User]

Anmeldung: 06.08.08 Beiträge: 3 Wohnort: Schweiz
|
Verfasst am: 06.08.2008, 13:10 Titel: |
|
|
| Zitat: | _increment braucht immer primary
und das hab ich nicht gemacht. | Cool, wusste ich auch nicht.
|
|
| Nach oben |
|
 |
Engelskind Neuer [User]

Anmeldung: 06.08.08 Beiträge: 2
|
Verfasst am: 06.08.2008, 15:34 Titel: |
|
|
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 |
|
 |
800XE Bekannter [Mod]


Anmeldung: 24.10.04 Beiträge: 1379 Wohnort: Speyer
|
Verfasst am: 06.08.2008, 16:09 Titel: |
|
|
| 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 |
|
 |
|
|
 |
|
Alle Zeiten sind GMT + 1 Stunde
|
| Seite 1 von 1 |
|  |