/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Fejl i MySQL-kørsel
Fra : Anders Boholdt-Peter~


Dato : 04-01-07 14:55

Hej,

På adressen
http://www.hjemmesideskolen.dk/files/mysql.zip
kan man hente et færdigt script, der gør at man kan oprette flere brugere i
php med brug af MYSQL som database.

Når jeg forsøger at køre teksten via PHPMyAdmin der findes i filen mysql.txt
(der blot ligger i hovedmappen når man pakker filen ud), får jeg en
fejlmeddelelse.
I PHPMyAdmin har jeg valgt SQL, hvorefter jeg har indsat teksten fra filen.

Fejlen lyder således:

---
MySQL said:
#1067 - Invalid default value for 'id'
---

Jeg har ikke postet selve teksten der burde oprette tabellen her, den ligger
som sagt i filen mysql.txt.

Jeg har ikke haft afprøvet filen der burde oprette tabeller til
administrationsmodullet.

Nogle bud på hvad der kan være galt?

På forhånd tak for eventuelle svar.

--

/ Anders
http://www.boholdt-petersen.dk



 
 
Erik Ginnerskov (04-01-2007)
Kommentar
Fra : Erik Ginnerskov


Dato : 04-01-07 16:00

Anders Boholdt-Petersen wrote:

> Jeg har ikke postet selve teksten der burde oprette tabellen her, den
> ligger som sagt i filen mysql.txt.

Så må jeg vel hellere gøre det:

CREATE TABLE users (
id int(10) unsigned DEFAULT '0' NOT NULL auto_increment,
brugernavn varchar(16),
password varchar(16),
PRIMARY KEY (id)
)

> Jeg har ikke haft afprøvet filen der burde oprette tabeller til
> administrationsmodullet.

Den er såmænd identisk med ovenstående, bortset fra at tabellen og felterne
i den gives andre navne:

CREATE TABLE admin (
id int(10) unsigned DEFAULT '0' NOT NULL auto_increment,
bruger varchar(16),
kode varchar(16),
PRIMARY KEY (id)
)

Det er altså ændret i første, tredje og fjerde linje, men det er anden
linje, der gør knuder. Det skal så tilføjes, at det ikke er på alle
MySql-servere, at scriptet fejler.

--
Godt nytår
Erik Ginnerskov
http://hjemmesideskolen.dk/ - http://ginnerskov.dk/
http://html-faq.dk



Martin (04-01-2007)
Kommentar
Fra : Martin


Dato : 04-01-07 16:45

Erik Ginnerskov wrote:
> Det er altså ændret i første, tredje og fjerde linje, men det er anden
> linje, der gør knuder. Det skal så tilføjes, at det ikke er på alle
> MySql-servere, at scriptet fejler.

Grunden er at "password" er en funktion i mysql 5. Ligesom MD5()
Se <http://dev.mysql.com/doc/refman/5.0/en/encryption-functions.html>
password() funktionen findes ikke i 4.x versionen - så det er højst
sandsynligt derfor

Erik Ginnerskov (04-01-2007)
Kommentar
Fra : Erik Ginnerskov


Dato : 04-01-07 16:48

Martin wrote:

> Grunden er at "password" er en funktion i mysql 5. Ligesom MD5()
> Se <http://dev.mysql.com/doc/refman/5.0/en/encryption-functions.html>
> password() funktionen findes ikke i 4.x versionen - så det er højst
> sandsynligt derfor

Det laver jeg lige en testkørsel på. Jeg vender 'frygtelig' tilbage.

--
Godt nytår
Erik Ginnerskov
http://hjemmesideskolen.dk/ - http://ginnerskov.dk/
http://html-faq.dk



Erik Ginnerskov (04-01-2007)
Kommentar
Fra : Erik Ginnerskov


Dato : 04-01-07 16:52

Martin wrote:

> Grunden er at "password" er en funktion i mysql 5. Ligesom MD5()
> Se <http://dev.mysql.com/doc/refman/5.0/en/encryption-functions.html>
> password() funktionen findes ikke i 4.x versionen

Desværre:

CREATE TABLE users(
id int( 10 ) unsigned DEFAULT '0' NOT NULL AUTO_INCREMENT ,
brugernavn varchar( 16 ) ,
kodeord varchar( 16 ) ,
PRIMARY KEY ( id )
)

Samme fejl:

#1067 - Invalid default value for 'id'
--
Godt nytår
Erik Ginnerskov
http://hjemmesideskolen.dk/ - http://ginnerskov.dk/
http://html-faq.dk



Martin (04-01-2007)
Kommentar
Fra : Martin


Dato : 04-01-07 16:55

Erik Ginnerskov wrote:
> Martin wrote:
>
>
>>Grunden er at "password" er en funktion i mysql 5. Ligesom MD5()
>>Se <http://dev.mysql.com/doc/refman/5.0/en/encryption-functions.html>
>>password() funktionen findes ikke i 4.x versionen
>
>
> Desværre:
>
> CREATE TABLE users(
> id int( 10 ) unsigned DEFAULT '0' NOT NULL AUTO_INCREMENT ,
> brugernavn varchar( 16 ) ,
> kodeord varchar( 16 ) ,
> PRIMARY KEY ( id )
> )
>
> Samme fejl:
>
> #1067 - Invalid default value for 'id'

Man kan ikke sætte en default value på et auto increment felt :)

Erik Ginnerskov (04-01-2007)
Kommentar
Fra : Erik Ginnerskov


Dato : 04-01-07 17:02

Martin wrote:

> Man kan ikke sætte en default value på et auto increment felt

Det fungerer uden problemer på den server, hvor hjemmesideskolen.dk ligger.
Men har du så forslag til alternative måder at kode det på, måske sådan:

CREATE TABLE users (
id int(10) unsigned auto_increment,
brugernavn varchar(16),
password varchar(16),
PRIMARY KEY (id)
)

Ikke testet.

--
Godt nytår
Erik Ginnerskov
http://hjemmesideskolen.dk/ - http://ginnerskov.dk/
http://html-faq.dk



Erik Ginnerskov (04-01-2007)
Kommentar
Fra : Erik Ginnerskov


Dato : 04-01-07 17:07

Erik Ginnerskov wrote:

> CREATE TABLE users (
> id int(10) unsigned auto_increment,
> brugernavn varchar(16),
> password varchar(16),
> PRIMARY KEY (id)
> )
>
> Ikke testet.

Det fungerede på unoeuro.com, hvor det andet fejlede.

--
Godt nytår
Erik Ginnerskov
http://hjemmesideskolen.dk/ - http://ginnerskov.dk/
http://html-faq.dk



Anders Boholdt-Peter~ (04-01-2007)
Kommentar
Fra : Anders Boholdt-Peter~


Dato : 04-01-07 18:55

"Erik Ginnerskov" <erik@donotspammeplease.invalid> skrev i en meddelelse
news:459d2622$0$49198$14726298@news.sunsite.dk...
> Det fungerede på unoeuro.com, hvor det andet fejlede.

Også på min lokale Uniformserver virker det fint nu!

Skal man rette i nogle af de andre filer, bortset fra mysql.txt?

Tusind tak for hurtig hjælp!!!

--

/ Anders
http://www.boholdt-petersen.dk



Erik Ginnerskov (04-01-2007)
Kommentar
Fra : Erik Ginnerskov


Dato : 04-01-07 23:50

Anders Boholdt-Petersen wrote:

> Også på min lokale Uniformserver virker det fint nu!

Så er alt godt.

> Skal man rette i nogle af de andre filer, bortset fra mysql.txt?

Nej, når tabellen er oprettet, fungerer alt andet som ellers.

> Tusind tak for hurtig hjælp!!!

Vel bekomme.

--
Godt nytår
Erik Ginnerskov
http://hjemmesideskolen.dk/ - http://ginnerskov.dk/
http://html-faq.dk



Stig Johansen (05-01-2007)
Kommentar
Fra : Stig Johansen


Dato : 05-01-07 07:13

Erik Ginnerskov wrote:

>
> CREATE TABLE admin (
> id int(10) unsigned DEFAULT '0' NOT NULL auto_increment,
> bruger varchar(16),
> kode varchar(16),
> PRIMARY KEY (id)
> )
>
> Det er altså ændret i første, tredje og fjerde linje, men det er anden
> linje, der gør knuder. Det skal så tilføjes, at det ikke er på alle
> MySql-servere, at scriptet fejler.

Nu ved jeg ikke med mySql, men int er et tal og '0' er tekst.

--
Med venlig hilsen
Stig Johansen

Erik Ginnerskov (05-01-2007)
Kommentar
Fra : Erik Ginnerskov


Dato : 05-01-07 22:32

Stig Johansen wrote:

> Nu ved jeg ikke med mySql, men int er et tal og '0' er tekst.

Int er heltal (ingen decimaler). Nul er også et heltal, så ...

Men vi fik det til at køre allerede i går eftermiddags.

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk/ - http://ginnerskov.dk/
http://html-faq.dk



Arne Feldborg (05-01-2007)
Kommentar
Fra : Arne Feldborg


Dato : 05-01-07 23:10

"Erik Ginnerskov" <erik@donotspammeplease.invalid> skrev Fri, 5 Jan 2007
22:32:29 +0100

>> Nu ved jeg ikke med mySql, men int er et tal og '0' er tekst.
>
>Int er heltal (ingen decimaler). Nul er også et heltal, så ...
>
Jeg tror Stig tænker på anførselstegnene.

--
mvh, A:\Feldborg

Slægtsforskning og lokalhistorie i midt- vestjylland
http://hammerum-herred.dk/

Erik Ginnerskov (06-01-2007)
Kommentar
Fra : Erik Ginnerskov


Dato : 06-01-07 00:54

Arne Feldborg wrote:

> Jeg tror Stig tænker på anførselstegnene.

Åh, ja. Det ændrer det til en streng, som er tekst. Det skal da prøves, om
det kan køre alene ved at fjerne de anførselstegn.

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk/ - http://ginnerskov.dk/
http://html-faq.dk



Erik Ginnerskov (06-01-2007)
Kommentar
Fra : Erik Ginnerskov


Dato : 06-01-07 01:01

Erik Ginnerskov wrote:

> Det skal da
> prøves, om det kan køre alene ved at fjerne de anførselstegn.

Det kunne ikke la'sig gi'sig.

CREATE TABLE users (
id int(10) unsigned DEFAULT 0 NOT NULL auto_increment,
brugernavn varchar(16),
password varchar(16),
PRIMARY KEY (id)
)

dur ikke. Samme fejl som med '0'.

Dette dur derimod:

CREATE TABLE users (
id int(10) unsigned auto_increment,
brugernavn varchar(16),
password varchar(16),
PRIMARY KEY (id)
)

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk/ - http://ginnerskov.dk/
http://html-faq.dk



Peter Brodersen (06-01-2007)
Kommentar
Fra : Peter Brodersen


Dato : 06-01-07 22:29

On Thu, 4 Jan 2007 16:00:08 +0100, "Erik Ginnerskov"
<erik@donotspammeplease.invalid> wrote:

> id int(10) unsigned DEFAULT '0' NOT NULL auto_increment,

Sæt den som nøgle, fx primærnøgle. Hvis du fjerner DEFAULT '0' er
fejlmeddelelsen mere tydelig:

ERROR 1075 (42000): Incorrect table definition; there can be only one
auto column and it must be defined as a key

Så prøv med:

id int(10) unsigned NOT NULL auto_increment primary key

--
- Peter Brodersen
Kendt fra Internet

Erik Ginnerskov (07-01-2007)
Kommentar
Fra : Erik Ginnerskov


Dato : 07-01-07 01:20

Peter Brodersen wrote:

> id int(10) unsigned NOT NULL auto_increment primary key

Den vil jeg teste i løbet af weekenden, men denne fungerede tilsyneladende
uden problemer:

id int(10) unsigned auto_increment

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk/ - http://ginnerskov.dk/
http://html-faq.dk



Erik Ginnerskov (07-01-2007)
Kommentar
Fra : Erik Ginnerskov


Dato : 07-01-07 23:44

Peter Brodersen wrote:

> Så prøv med:
>
> id int(10) unsigned NOT NULL auto_increment primary key

Det giver følgende fejlmelding:

#1068 - Multiple primary key defined

Samme fejl alle de tre steder, jeg har mulighed for at teste:

azero.dk
unoeuro.com
lokalt på XAMPP

Det gør ikke nogen synlig forskel, om man medtager "NOT NULL", men "primary
key" dur ikke.

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk/ - http://ginnerskov.dk/
http://html-faq.dk



Michael Rasmussen (06-01-2007)
Kommentar
Fra : Michael Rasmussen


Dato : 06-01-07 01:19



Søg
Reklame
Statistik
Spørgsmål : 177500
Tips : 31968
Nyheder : 719565
Indlæg : 6408518
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste