WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   SQL fel (https://www.wn.se/forum/showthread.php?t=9564)

Jim_Westergren 2005-08-28 15:05

Jag körde följande SQL sats men fick fel:

Kod:

USE Arcade_arcade;

CREATE TABLE dirs (

'id' MEDIUMINT NOT NULL AUTO_INCREMENT,
'date' date NOT NULL default '0000-00-00',
'title' varchar(50) NOT NULL default '',
'url' varchar(70) NOT NULL default '',
'comments' varchar(200) NOT NULL default '',
'pr' INT NOT NULL default '',
'submit' varchar(10) NOT NULL default '',
'submiturl' varchar(70) NOT NULL default '',

PRIMARY KEY (id)

      );

INSERT INTO dirs (title, url, pr) VALUES ('Add URL-Free.com'),('http://www.addurl-free.com'),('5');
INSERT INTO dirs (title, url, pr) VALUES ('Tygo'),('http://www.tygo.com/dir/'),('6');
INSERT INTO dirs (title, url, pr) VALUES ('777 Media'),('http://www.777media.com/'),('4');


SELECT * FROM dirs ORDER BY title ASC;

Följande stod i PHPMyAdmin:

Citat:


MySQL said: Documentation
#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 ''id' MEDIUMINT NOT NULL AUTO_INCREMENT, 'date' date NOT NULL de

Tacksam för snabb hjälp till en PHP nybörjare.

tydal 2005-08-28 15:12

Date är inte ett tillåtet namn på en kolumn. Du får hitta på något annat.

Jim_Westergren 2005-08-28 15:16

Jaha, det visste jag inte. Ändrade till 'datum' och till och med 'inlagddatum' men jag fick samma fel igen.

tydal 2005-08-28 15:21

Då har du ett fel mindre i alla fall :-)

Ta bort apostroferna runt kolumnnamnen.

grazzy 2005-08-28 15:27

det går väl att skriva tex `date` om man verkligen verkligen vill ha date som kolumnnamn?

Jim_Westergren 2005-08-28 15:40

Ändrade alla ' till ` och då blev det bättre men fortfarande fel:

Citat:


SQL-query:

INSERT INTO dirs( title, url, pr )
VALUES (
'Add URL-Free.com'
), (
'http://www.addurl-free.com'
), (
'5'
)

MySQL said: Documentation
#1136 - Column count doesn't match value count at row 1


tydal 2005-08-28 15:53

Du ska ha alla värden innanför parenteserna:

INSERT INTO dirs (title, url, pr)
VALUES
('Add URL-Free.com', 'http://www.addurl-free.com', 5)

Vladi 2005-08-28 15:54

INSERT INTO dirs( title, url, pr ) VALUES ('Add URL-Free.com' , 'http://www.addurl-free.com' , 5 );

Ska nog funka bättre, :-)

Vladi 2005-08-28 15:55

He he, ibland är det bra att svara flera samtidigt.

Jim_Westergren 2005-08-28 15:57

Yes!

Nu funkar det!

Tack så mycket. Helt nybörjare på PHP, tänk om det kunde vara lika lätt som SEO ...

Jim_Westergren 2005-08-28 16:04

Tyvärr, ett annat litet fel.

Den sätter datumen som 0000-00-00, alltså default.

Jag provade att ta bort default men det var samma sak.

Jag vill att den skriver in datumet när data förs in.

tydal 2005-08-28 16:21

Du ska ta bort NOT NULL DEFAULT '0000-00-00' från den kolumnen.

Jim_Westergren 2005-08-28 16:23

Citat:

Originally posted by tydal@Aug 28 2005, 16:21
Du ska ta bort NOT NULL DEFAULT 0000-00-00 från den kolumnen.

Ok tack, det funkar. Räckte visst inte med att bara ta bort "DEFAULT 0000-00-00".

Tack för er hjälp, jag återkommer om jag får fler buggar.


Alla tider är GMT +2. Klockan är nu 00:30.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson