[SOLVED] MySQL Spørgsmål MYISAM / INNODB
Hej Forum.
Jeg har et lille forsøg igang hvor jeg fra en extern enhed skal indsætte noget data i MySQL-database.
Hver 10. sekund inserter den data - med følgende statement.
INSERT INTO data (id_tag,id_value,value) VALUES ('værdi','værdi','værdi');
Dette vil gerne oprettes i en tabel der er oprettet med MYISAM:
Men dette insert statement fejler ved indsættelse i INNODB tabel:
Hvad kan dette skyldes - hvad er den store forskel her.
Jeg har databasen kørende på 5.7 hvor der er masser af data i tabellen med MYISAM - men ændrer jeg kun tabel navnet - så fejler denne.
Kan der være forskel i INSERT STATEMENTET ??? - Jeg kan manuelt bare INSERTE almindeligt. Hvad kan ellers være problemet her?
Jeg har et lille forsøg igang hvor jeg fra en extern enhed skal indsætte noget data i MySQL-database.
Hver 10. sekund inserter den data - med følgende statement.
INSERT INTO data (id_tag,id_value,value) VALUES ('værdi','værdi','værdi');
Dette vil gerne oprettes i en tabel der er oprettet med MYISAM:
Create table data (
TIMESTAMP DATETIME NOT NULL,
id_tag INT(11),
id_value INT(11),
value FLOAT
)ENGINE=MyISAM;
Men dette insert statement fejler ved indsættelse i INNODB tabel:
Create table data (
TIMESTAMP DATETIME NOT NULL,
id_tag INT(11),
id_value INT(11),
value FLOAT
) ;
Hvad kan dette skyldes - hvad er den store forskel her.
Jeg har databasen kørende på 5.7 hvor der er masser af data i tabellen med MYISAM - men ændrer jeg kun tabel navnet - så fejler denne.
Kan der være forskel i INSERT STATEMENTET ??? - Jeg kan manuelt bare INSERTE almindeligt. Hvad kan ellers være problemet her?
Kommentarer5
Hvilken fejl får du?
Hvis
Hvis din insert ser ud som du har postet forsøger du i hvert fald at indsætte tekst i et integer felt (værdien står i ' - ' )
Ja det er mine konkrete
selvfølgelig har jeg flere rækker derned af:
Ialt så - dette var bare hurtige eksempel uden alle rækker var med - Men data er en pr id_tag/id_value og value - indsætter jeg '21','775',31.415' som pt er statiske værdier.
'MYSQL-ERROR: 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_tag9, id_value9, value9, id_tag10, id_val'
Dette er det eneste jeg får af error ved kørsel på INNODB tabel, hvorimod på MYISAM er der ingen problemer.
Jeg er mere om der er forskel på hvordan et mere kompleks statement skal bygges op - fordi der er forskel imellem de to Storage Engines ??
'21','775',31.415'
Jeg ville
'21','775',31.415'
Jeg ville forsøge at fjerne pling'erne - de er syntaktisk forkerte i de fleste databaser, da du smider dem ind i et tal-felt.
Derudover så mangler du en plinger før 31.415' , hvis det endeligt er ;)
Men prøv at fjerne plingerne, så tror jeg det vil lykkedes.
Myisam er farlig
Jeg getter på at en af dine variable fortolkes som string enten pga '' eller at den forventer "," og ikke "." som komma seperator.
Hej Gutter.
Efter en
Efter en længere gennemgang og fejlsøgning, var fejlen human og lå i en kringlet opsætning i den PLC - som var sat til at den output string som sætter kommandoen, som var sat til en fast max karakter antal - og der fejlede den...
Tak for lærerige input :-)