Wat is er fout in deze syntax

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Harry H Arends

Harry H Arends

28/09/2017 11:34:40
Quote Anchor link
Ik moet een tabel maken met ruim honderd velden. Dus dat dacht ik in phpmyadmin te doen .
Dit staat boven in mijn SQL script:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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
Echter blijf ik foutmeldingen krijgen op de eerste ADD.
Wat zie ik over het hoofd of wat kan niet??
 
PHP hulp

PHP hulp

15/11/2024 15:39:41
 
- Ariën  -
Beheerder

- Ariën -

28/09/2017 11:39:07
Quote Anchor link
Misschien handig om te vertellen welke foutmelding je krijgt.

En waarom honderd velden? Als ik dit hoor gaan de alarmbellen rinkelen
Gewijzigd op 28/09/2017 11:39:48 door - Ariën -
 
E vH

E vH

28/09/2017 11:43:25
Quote Anchor link
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.
Gewijzigd op 28/09/2017 11:46:37 door E vH
 
Harry H Arends

Harry H Arends

28/09/2017 11:48:59
Quote Anchor link
- Ariën - op 28/09/2017 11:39:07:
Misschien handig om te vertellen welke foutmelding je krijgt.

En waarom honderd velden? Als ik dit hoor gaan de alarmbellen rinkelen
Dit is de foutmelding
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.

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 -
 
- Ariën  -
Beheerder

- Ariën -

28/09/2017 16:29:37
Quote Anchor link
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.
 
Harry H Arends

Harry H Arends

28/09/2017 17:07:22
Quote Anchor link
- 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.

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
 
- Ariën  -
Beheerder

- Ariën -

28/09/2017 17:37:39
Quote Anchor link
Je kan het wel voor het gemak in een tijdelijke tabel pompen, en daarvandaan een conversie-script op loslaten.
 
Harry H Arends

Harry H Arends

28/09/2017 17:54:44
Quote Anchor link
- 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

the mysql-versie is 5.5.57
 
- Ariën  -
Beheerder

- Ariën -

28/09/2017 18:04:50
Quote Anchor link
Blijkbaar staat het gebruik van LOAD DATA LOCAL INFILE uit in de configuratie van MySQL.
Als je toegang hebt tot my.cnf, dan moet dit helpen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
[client]
loose-local-infile=1
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.