Wat is er fout in deze syntax
Dit staat boven in mijn SQL script:
Code (php)
1
2
3
4
5
2
3
4
5
TRUNCATE TABLE `2017-combinations`
ALTER_TABLE `2017-combinations`
ADD `Athlete_FEI_ID` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL
ALTER_TABLE `2017-combinations`
ADD `Athlete_FEI_ID` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL
Wat zie ik over het hoofd of wat kan niet??
En waarom honderd velden? Als ik dit hoor gaan de alarmbellen rinkelen
Gewijzigd op 28/09/2017 11:39:48 door - Ariën -
Haal die underscore er uit ( ALTER TABLE )
Edit: Zoals Arien al (terecht) opmerkt; waarom...
Bij mij gingen de alarmbellen al rinkelen door de tabelnaam (2017...), dus elk jaar een nieuw tabel?
Edit 2: Dan nog een opmerking; je voegt een column toe... waarbij mij dit gedeelte opviel: ID... en die sla je dan op als varchar 255, ik neem aan dat het alleen een numerieke waarde betreft? maak er dan een INT van of iets dergelijks.
Gewijzigd op 28/09/2017 11:46:37 door E vH
- Ariën - op 28/09/2017 11:39:07:
Dit is de foutmeldingMisschien handig om te vertellen welke foutmelding je krijgt.
En waarom honderd velden? Als ik dit hoor gaan de alarmbellen rinkelen
En waarom honderd velden? Als ik dit hoor gaan de alarmbellen rinkelen
Quote:
#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 'ALTER TABLE `2017-combinations` ADD COLUMN `Athlete_FEI_ID` VARCHAR(255) CHARA' at line 3
Toevoeging op 28/09/2017 12:02:03:
Elmar vH op 28/09/2017 11:43:25:
ALTER_TABLE is fout;
Haal die underscore er uit ( ALTER TABLE )
Edit: Zoals Arien al (terecht) opmerkt; waarom...
Bij mij gingen de alarmbellen al rinkelen door de tabelnaam (2017...), dus elk jaar een nieuw tabel?
Edit 2: Dan nog een opmerking; je voegt een column toe... waarbij mij dit gedeelte opviel: ID... en die sla je dan op als varchar 255, ik neem aan dat het alleen een numerieke waarde betreft? maak er dan een INT van of iets dergelijks.
Haal die underscore er uit ( ALTER TABLE )
Edit: Zoals Arien al (terecht) opmerkt; waarom...
Bij mij gingen de alarmbellen al rinkelen door de tabelnaam (2017...), dus elk jaar een nieuw tabel?
Edit 2: Dan nog een opmerking; je voegt een column toe... waarbij mij dit gedeelte opviel: ID... en die sla je dan op als varchar 255, ik neem aan dat het alleen een numerieke waarde betreft? maak er dan een INT van of iets dergelijks.
De FEI (Franse organisatie) heeft in haar wijsheid besloten om 14 dagen voor een evenement de boel aan te leveren in één groot CSV document in plaats dat ik het uit systeem trek met mijn eigen scripts (deze plaatsen het in meerdere tabellen)
Ik probeer nu alles in één tabel te krijgen van waar ik het dan in mijn systeem moet verwerken zodat de gebruikers er mee aan de slag kunnen.
Gewijzigd op 28/09/2017 16:25:23 door - Ariën -
Als je echt serieus honderd velden gaat beheren, dan geef ik je grote garantie dat er bij je queries heel snel een foutje is ingeslopen die bijvoorbeeld 113 velden wilt invoegen, terwijl je er maar 110 hebt. En verder is er ook heel lastig mee te rekenen.
Dus ik zou zeggen, verdiep je eens in de wereld van Databasenormalisatie.
- Ariën - op 28/09/2017 16:29:37:
Dat de leverancier het zo aanlevert wil natuurlijk niet zeggen dat jij het ook volgens die structuur moet opslaan. Een bestand met CSV-indeling staat ook bekend als een niet zo relationele database-structuur.
Als je echt serieus honderd velden gaat beheren, dan geef ik je grote garantie dat er bij je queries heel snel een foutje is ingeslopen die bijvoorbeeld 113 velden wilt invoegen, terwijl je er maar 110 hebt. En verder is er ook heel lastig mee te rekenen.
Dus ik zou zeggen, verdiep je eens in de wereld van Databasenormalisatie.
Als je echt serieus honderd velden gaat beheren, dan geef ik je grote garantie dat er bij je queries heel snel een foutje is ingeslopen die bijvoorbeeld 113 velden wilt invoegen, terwijl je er maar 110 hebt. En verder is er ook heel lastig mee te rekenen.
Dus ik zou zeggen, verdiep je eens in de wereld van Databasenormalisatie.
Beste Ariën, dat wil ik ook wel, maar zit nu met dit probleem. (Heb je ooit geprobeerd om bij een Franse organisatie iets voor elkaar te krijgen?)
Ik dacht mij er makkelijk van af te maken door de CSV via LOAD DATA in een tabel te plaatsen.
Maar deze moet er wel eerst zijn anders werkt het niet, en van daar uit in bestaande tabellen te importeren
Je kan het wel voor het gemak in een tijdelijke tabel pompen, en daarvandaan een conversie-script op loslaten.
- Ariën - op 28/09/2017 17:37:39:
Je kan het wel voor het gemak in een tijdelijke tabel pompen, en daarvandaan een conversie-script op loslaten.
Dat heb ik geprobeerd met de importeer functie in PHPMyAdmin maar krijg deze foutmelding
Quote:
Fout
SQL-query:
LOAD DATA LOCAL INFILE '/tmp/phpmOLSZR' INTO TABLE `2017-combinations` FIELDS TERMINATED BY ';' ENCLOSED BY '"' ESCAPED BY '\\' LINES TERMINATED BY '\r\n' IGNORE 1 LINES
MySQL retourneerde: Documentatie
#1148 - The used command is not allowed with this MySQL version
SQL-query:
LOAD DATA LOCAL INFILE '/tmp/phpmOLSZR' INTO TABLE `2017-combinations` FIELDS TERMINATED BY ';' ENCLOSED BY '"' ESCAPED BY '\\' LINES TERMINATED BY '\r\n' IGNORE 1 LINES
MySQL retourneerde: Documentatie
#1148 - The used command is not allowed with this MySQL version
the mysql-versie is 5.5.57