Avatar billede cronick Nybegynder
11. januar 2008 - 00:40 Der er 22 kommentarer og
1 løsning

Export mangler apostroffer

Hej!

Hvordan kan det være, at jeg ved export af tabellerne i min database (i phpmyadmin), får en INSERT som denne (ud fra min export):

INSERT INTO `address_book` VALUES ('3', '3', 'm', Cronick, 'test', 'test2', 0x527567c3a572647376656a20353234, 'Kommune', 'Postnummer', 'By', 'Danmark', '57', 0);

Fejlen er naturligvis, at der i nogle af "felterne" mangler apostrof, da det jo er en tekst - dvs. den kommer med fejl hvis jeg vil bruge denne kodestump, til import i en anden database.

Nogen der har en løsning på mit problem, eller andet behjælpeligt? :)

- På forhånd tak!
Avatar billede a1a1 Novice
11. januar 2008 - 01:22 #1
skal denne ikke have ' omkring ' ?:
0x527567c3a572647376656a20353234

Desuden er det en "grim" måde du indsætter data på....

Hvad sker der hvis jeg laver et nyt felt? ;o)

INSERT INTO `address_book` VALUES ('3', '3', 'm', Cronick, 'test', 'test2', 0x527567c3a572647376656a20353234, 'Kommune', 'Postnummer', 'By', 'Danmark', '57', 0);

wie sooo:

INSERT INTO `address_book` (FIELD1, FIELD2, FIELD3, FIELD4, FIELD5, FIELD6, FIELD7, FIELD8, FIELD9, FIELD10, FIELD11, FIELD12, FIELD13) VALUES ('3', '3', 'm', Cronick, 'test', 'test2', 0x527567c3a572647376656a20353234, 'Kommune', 'Postnummer', 'By', 'Danmark', '57', 0);
Avatar billede arne_v Ekspert
11. januar 2008 - 01:49 #2
Nu er det jo nok mysqldump som har genererer den INSERT ...

(og den indeholder en CREATE TABLE længere oppe)
Avatar billede arne_v Ekspert
11. januar 2008 - 01:52 #3
cronick>

Hvilken version af MySQL ?
Avatar billede cronick Nybegynder
11. januar 2008 - 14:46 #4
a1 - hvis du rent faktisk havde læst mit indlæg, ville du se, at det ikke er mig der laver en sådan insert, men bliver genereret ved export. Det samme svar går til dit spørgsmål, om ' omkring.

Her er lidt om versionen:

phpMyAdmin 2.6.3-pl1
MySQL 4.1.11-log kører på localhost..
Avatar billede arne_v Ekspert
11. januar 2008 - 15:07 #5
localhost

Har du proevet en mysqldump i kommando prompt ?
Avatar billede michael_stim Ekspert
11. januar 2008 - 15:16 #6
Er der ikke nogle indstillinger i phpmyadmin, hvor du kan bestemme hvordan det skal eksporteres?
Avatar billede cronick Nybegynder
11. januar 2008 - 15:23 #7
Arne_v - hvad mener du? :)

Michal_stim - joeh, men synes at have prøvet dem alle uden held.
Avatar billede arne_v Ekspert
11. januar 2008 - 15:40 #8
Avatar billede cronick Nybegynder
11. januar 2008 - 18:56 #9
Nu har jeg ikke lige adgang til en facilitet.

Har opdaget, at det bl.a. er ved celler hvor NULL = Ja, at den mangler apostroffer.

Her er et bedre eksempel ved export (inkl. tabel):

CREATE TABLE `address_book` (
  `address_book_id` int(11) NOT NULL auto_increment,
  `customers_id` int(11) NOT NULL default '0',
  `entry_gender` char(1) NOT NULL default '',
  `entry_company` varchar(32) default NULL,
  `entry_firstname` varchar(32) NOT NULL default '',
  `entry_lastname` varchar(32) NOT NULL default '',
  `entry_street_address` varchar(64) NOT NULL default '',
  `entry_suburb` varchar(32) default NULL,
  `entry_postcode` varchar(10) NOT NULL default '',
  `entry_city` varchar(32) NOT NULL default '',
  `entry_state` varchar(32) default NULL,
  `entry_country_id` int(11) NOT NULL default '0',
  `entry_zone_id` int(11) NOT NULL default '0',
  PRIMARY KEY  (`address_book_id`),
  KEY `idx_address_book_customers_id` (`customers_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;

--
-- Data dump for tabellen `address_book`
--

INSERT INTO `address_book` VALUES ('1', '1', 'm', ACME Inc., 'John', 'Doe', 0x312057617920537472656574, '', '12345', 'NeverNever', '', '223', 12);
INSERT INTO `address_book` VALUES ('2', '2', 'm', , 'Anders', '...', 0x527567616172647376656a20353234, '', '...', '...', '...', '57', 0);
INSERT INTO `address_book` VALUES ('3', '3', 'm', Cronick, 'test', 'test2', 0x527567c3a572647376656a20353234, '...', '...', 'Odense', 'Danmark', '57', 0);
Avatar billede cronick Nybegynder
11. januar 2008 - 18:57 #10
Nu har jeg ikke lige adgang til en facilitet. -> Nu har jeg ikke lige adgang til en sådan facilitet.. :)
Avatar billede erikjacobsen Ekspert
11. januar 2008 - 19:01 #11
Jeg har ikke kigget på det, men det ku' jo bare være en fejl i phpmyadmin. Version 2.6 er af ældre dato - den nyeste hedder vist 2.11.
Avatar billede arne_v Ekspert
11. januar 2008 - 19:11 #12
MySQL koerer paa localhost ikke ?

mysqldump kommer sammen med mysql !

Saa du burde kunne bruge den.
Avatar billede erikjacobsen Ekspert
11. januar 2008 - 19:19 #13
Det kunne også være den kørte på et webhotel, hvor også mysql-databasen kører på "localhost". Er det tilfældet kan man ikke nødvendigvis bruge mysqldump. Og de er lidt bagefter med opgraderinger.
Avatar billede arne_v Ekspert
11. januar 2008 - 19:40 #14
Det har du ret i. I det tilfaelde er det et problem.

Burde man ikke kunne uploade en nyere PHPMyAdmin som almindelig bruger ?
Avatar billede erikjacobsen Ekspert
11. januar 2008 - 19:57 #15
Jo, det kan man.
Avatar billede cronick Nybegynder
11. januar 2008 - 22:58 #16
^ Nej det kan man ikke .. Dvs. ikke på dette webhotel..
Avatar billede gammelhat Nybegynder
11. januar 2008 - 23:02 #17
phpmyadmin er bare et alm. phpscript, som du kan uploade til din hjemmeside. Du skal ikke ind og opgradere den udgave webhotellet har liggende
Avatar billede cronick Nybegynder
11. januar 2008 - 23:50 #18
Okey. Men dette ville da skride mod enhver webhotels regelement, idet man jo ikke selv er herre over hvorvidt man må oprette databaser eller ej - og evt. hvor mange. Hvis man selv ligger phpmyadmin ind, så har man vel uendeligt?

Desuden tvivler jeg selv på at man selv vil kunne gøre dette, idet der vel skal gives diverse yderligere rettigheder til mapper og lign, samt håndtere indholdet i databasen?

.. men hvis jeg tager fejl må du jo korigere mig, det lyder hvert fald interessant :)


---

Jeg har desuden fundet en anden måde hvorpå jeg kan exportere alt fra databasen, via et godt php-script, som jeg så har tilpasset lidt. Her sørger den for altid at lade ' stå rundt om alle "values", hvilket fungerer fint for mig..
Avatar billede gammelhat Nybegynder
11. januar 2008 - 23:56 #19
Det ville være ret katastrofalt, hvis man kunne omgå sikkerheden på den måde. Den bruger, du forbinder til mysql serveren med, får ikke flere rettigheder fordi du installerer din egen phpadmin
Avatar billede erikjacobsen Ekspert
11. januar 2008 - 23:57 #20
phpmyadmin er blot en samling php-scripts. De kan li'sågodt ligge på dit webhotel på serveren. Sikkerhedsindstillingerne findes i mysql-databasen.
Avatar billede cronick Nybegynder
12. januar 2008 - 01:59 #21
Okey, så blev jeg så meget klogere.. :)

Tak for hjælpen. I er velkommen til at lægge et svar.. ;)
Avatar billede erikjacobsen Ekspert
12. januar 2008 - 09:20 #22
Ingen point til mig, tak.
Avatar billede arne_v Ekspert
06. april 2008 - 06:19 #23
svar fra mig
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester