Hallo ik wilde een extra tabel toevoegen alleen het lukte met niet ik kreeg een foutmelding.

`ramen` int( 5 ) NOT NULL default '0', `bitches` int( 5 ) NOT NULL default '0', `bitchesgezocht` int( 5 ) NOT NULL default '0', `scooterstelen` int( 11 ) NOT NULL default '0', `cokefabriek` int( 1 ) NOT NULL default '0', `coketijd` datetime NOT NULL default '0000-00-00 00:00:00', `verkooptijd` datetime NOT NULL default '0000-00-00 00:00:00', `runner` int( 1 ) NOT NULL default '0', `cokeverkoop` int( 255 ) NOT NULL default '0', oohja runnertemp nog ! -- 
-- Tabel structuur voor tabel `[runnertemp]`
-- 
CREATE TABLE `[runnertemp]` (
`owner` varchar( 16 ) NOT NULL default '',
`stad` varchar( 20 ) NOT NULL default '0',
`runner` varchar( 16 ) NOT NULL default '',
`runnernr` int( 1 ) NOT NULL default '0',
`nummer` int( 1 ) NOT NULL default '0'
) ENGINE = MYISAM DEFAULT CHARSET = latin1;


en dit is de foutmelding. weet iemand wat er fout is?
bij voorbaat dank!

MySQL retourneerde:

#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 'en bij users

`ramen` int(5) NOT NULL default '0',
`bitches` int(5) NOT N' at line 1
Is dat de volledige query die je uit probeert te voeren? Daar ontbreekt nog wel wat aan. Zo mis is nog een CREATE TABLE statement aan het begin?

Verder is de naam van je tabel op regel 4 niet geldig. Blokhaken zijn verboden en horen niet thuis in een goede tabel of kolomnaam. Dat MySQL het (door de backticks) wel toestaat is eerder een bug die zij als functionaliteit proberen te verkopen.
Waar komen steeds die [] vandaan die mensen erin stoppen?

Die bovenste regel moet weg want je geeft helemaal niet aan wat daar mee moet gebeuren
MYISAM... Daar kun je geen relationele database mee maken, hou dat even in de gaten.

Verder is de 'NOT NULL default ' een achtelijke uitvinding van PMA, vermijd deze rommel zoveel mogelijk! Met NOT NULL vertel jij de database dat het verplicht is om een waarde op te geven en met een default waarde geef je aan dat wanneer er geen waarde is (wat dus niet voor mag komen!) er de default waarde moet worden ingevuld. Dat is nogal tegenstrijdig.

INT(getal) is ook gelul, een INT is een INT, dat getal doe je niks mee. Laat hem dan weg. Zie de handleiding van MySQL voor de details.

MYISAM... Daar kun je geen relationele database mee maken, hou dat even in de gaten.


hoezo?
Omdat MyISAM het gebruik van foreign keys constraints niet ondersteunt. En laat deze nou essentieel zijn om een relationale database op te zetten.
@phpbram: Omdat je geen foreign keys kunt aanmaken in MyISAM. Er kunnen dus geen relaties worden gelegd en worden onderhouden.

Ja, menig wijsneus zal beweren dat dit m.b.v. PHP wél kan, maar zijn database is dan ook binnen een paar tellen onderuit te halen: Even een paar gelijktijdige users op de database loslaten en dat is dan direct het einde van de database.

Met MyISAM is het technisch niet mogelijk om een relationele database te maken. Mocht je een held zijn en toch MySQL willen gebruiken (alleen voor experts), dan zul je met innoDB aan de slag moeten. Die kan namelijk wél foreign keys aanmaken. Desondanks blijft ook dat een ramp, ook die engine is geen volwaardige database, geen volwaardige DBMS. MySQL is eigenlijk alleen voor experts, je moet namelijk heel goed de beperkingen en problemen kennen om er veilig mee te kunnen werken.

Reageren