webForumDet fria alternativet

Sortera bort

Databaser & SQL

7 svar · 535 visningar · startad av Uffe82

Medlem sedan feb. 200711 inlägg
Frågan#1

Hej jag har två tabeller..

CREATE TABLE `matcher` (
`match_id` smallint(5) unsigned NOT NULL auto_increment,
.........
PRIMARY KEY (`match_id`)
) TYPE=MyISAM;

CREATE TABLE `resultat` (
`match_id` smallint(6) NOT NULL default '0',
................
PRIMARY KEY `match_id` (`match_id`)
) TYPE=MyISAM;

Problemet är att jag vill ta bort från tabellen resultat alla poster som inte finns i tabellen matcher... alltså ta bort de rader som inte matchar match_id med matcher tabellen.

Har försökt med det mesta men får det inte att fungera.. så nu hoppas jag på snabb expert hjälp..

TACK!

Medlem sedan dec. 200012 464 inlägg
#2
select <kolumner>
  from resultat
  where match_id not in 
    (select match_id
        from matcher)
Medlem sedan feb. 200711 inlägg
#3

Närmare lösningen?

DELETE FROM resultat WHERE match_id NOT IN (SELECT match_id FROM matcher)

Får ERROR_CODE #1064 på denna,.. borde vara rätt men det skiter sig...

Vad kan vara fel.. får inte tabellerna innehålla samma namn på två kolumner eller?

Medlem sedan dec. 200012 464 inlägg
#4

Om du får ett felmeddelande, posta feltexten.

Medlem sedan feb. 200711 inlägg
#5

here it is

#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 'SELECT match_id FROM matcher)' at line 1

Medlem sedan juni 200032 967 inlägg
#6

Vilken version av MySQL?

Medlem sedan feb. 200711 inlägg
#7

MySQL klientversion: 4.1.11

Enligt phpmyadmin

Medlem sedan dec. 20025 483 inlägg
#8

Det som är intressant, är vilken serverversion som körs.

250 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
118 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)