webForumDet fria alternativet

Problem att importera en MySQL-databas

Databaser & SQL

9 svar · 311 visningar · startad av lillebror

Medlem sedan apr. 20041 597 inlägg
Frågan#1

Hej,

Jag har hållit på och utvecklat en databas lokalt på min bärbara dator och nu ska jag exportera den så jag kan ladda upp den på en server. Det gick bra när jag exporterade databasen från servern till min bärbara dator förut men nu åt andra hållet går det inget bra.

Dett är det första stycke som MySQL-motorn klagar över:

CREATE TABLE `tblairport` (
`airportID` int( 11 ) NOT NULL AUTO_INCREMENT ,
`airport_code` varchar( 7 ) NOT NULL default '',
`name` varchar( 35 ) NOT NULL default '',
`elevation` int( 11 ) NOT NULL default '0',
`coordinates` varchar( 20 ) default NULL ,
`atc` int( 11 ) NOT NULL default '0',
`frequency` varchar( 15 ) default NULL ,
`fuel` varchar( 20 ) default NULL ,
`cityID` int( 11 ) NOT NULL default '0',
PRIMARY KEY ( `airportID` ) ,
KEY `airport_index_1` ( `cityID` )
) ENGINE = InnoDB

Felmeddelandet lyder så här:

#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 'ENGINE=InnoDB' at line 31

Jag har försökt söka rätt på vad 1064 betyder men inte riktigt hittat rätt. Någon som på rak arm kan se vad som är fel i ovanstående sql-sats? :)

Medlem sedan dec. 20003 563 inlägg
#2

Vad kör du för version av mySQL?
Funkar utmärkt på 4.1.12.

Medlem sedan apr. 20041 597 inlägg
#3

Gick igenom den fil där jag har alla ursprungliga SQL-satser när jag skapar mina tabeller.

I tabellen tblMember ser sql-satsen ursprungligen ut så här några rader från slutet:

membershiplevelID INT NOT NULL,
INDEX member_index_1 (membershiplevelID),
PRIMARY KEY (memberID),
FOREIGN KEY (membershiplevelID) REFERENCES tblMembershipLevel (membershiplevelID)
) TYPE=INNODB;

När phpMyAdmin exporterar ser det ut så här:

membershiplevelID int(11) NOT NULL default '0',
PRIMARY KEY  (memberID),
KEY member_index_1 (membershiplevelID)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

Det känns som att något blir fel men jag vet inte riktigt hur och varför när jag exporterar?!

:OO

Medlem sedan apr. 20041 597 inlägg
#4

cyprys skrev:

Vad kör du för version av mySQL?

Jag kör en bundle som heter WAMP som innehåller Apache, MySQL och phpMyAdmin.

Kör med MySQL 4.1.10a...

Medlem sedan apr. 20041 597 inlägg
#5

Bifogar en bild på de export-settings som jag utnyttjat...

export_settings_mysql.jpg
Medlem sedan aug. 20002 975 inlägg
#6

Ändrar du "SQL-export-kompatibility" till "MYSQL40" så tror jag det ska fixa sig.

Medlem sedan apr. 20041 597 inlägg
#7

Matte skrev:

Ändrar du "SQL-export-kompatibility" till "MYSQL40" så tror jag det ska fixa sig.

Gjorden den ändringen och då gick det bra!

Medlem sedan apr. 20041 597 inlägg
#8

Nu när jag laddat upp hela databasen klagar mysql på att tabellen tblMember inte finns. Följande felmeddelande fick jag: "Table 'databasnamn.tblMember' doesn't exist".

Jag har ju själv sett att den finns där fysiskt efter att jag importerade den. Någon aning om vad detta kan bero på?

Medlem sedan apr. 20041 597 inlägg
#9

Tror jag kom på vad det var. Uppenbarligen är MySQL känsligt för om det är stora eller små bokstäver i tabellnamnet.

Tidigare när jag skapade tabellnamn gick det bra med namn så som "tblMember", där M var stor bokstav. Nu måste det ha hänt något när jag exporterade databasen för nu verkar det som att jag måste ändra alla dessa tabellnamn på hela min sida i de olika sqlsträngarna för att få det att fungera igen... Surt! :l

Medlem sedan apr. 20041 597 inlägg
#10

Problemet löst genom att döpa om de importerade tabellerna... :stud Varför ska saker och ting va så lätt för haha :bla

255 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)