epickai
Goto Top

Fehler in .SQL Datei

Hallo ihr! Ich wollte eine .sql Datei auf meine Datenbank laden und bekomme eine Fehlermeldung. Es würde mich freuen, wenn ihr einen Blick auf die Datei werfen würdet.

Der Fehler ist folgender:
[Err] 1005 - Can't create table 'rmxosdb.users' (errno: 150)  
[Err] -- SQL Database for RMX-OS
-- by Blizzard
?
START TRANSACTION;
?
-- these two are used to create the database and can be ommited in case the database already exists
CREATE DATABASE IF NOT EXISTS `rmxosdb` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
USE `rmxosdb`;
?
DROP TABLE IF EXISTS `save_data`;
DROP TABLE IF EXISTS `inbox`;
DROP TABLE IF EXISTS `buddy_list`;
DROP TABLE IF EXISTS `user_data`;
DROP TABLE IF EXISTS `guilds`;
DROP TABLE IF EXISTS `ips`;
DROP TABLE IF EXISTS `users`;
?
-- Registered Users
?
CREATE TABLE `users` (
??????????????? `user_id` int(10) unsigned NOT NULL auto_increment,
??????????????? `username` varchar(32) NOT NULL UNIQUE,
??????????????? `password` varchar(11) NOT NULL,
??????????????? `usergroup` int(10) NOT NULL default 0,
??????????????? `banned` tinyint(1) NOT NULL default 0,
??????????????? PRIMARY KEY (`user_id`)
) ENGINE = InnoDB DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
?
-- IPs
?
CREATE TABLE `ips` (
??????????????? `user_id` int(10) unsigned NOT NULL,
??????????????? `ip` varchar(15) NOT NULL,
??????????????? PRIMARY KEY (`user_id`, `ip`),
??????????????? FOREIGN KEY (`user_id`) REFERENCES users(`user_id`) ON DELETE CASCADE
) ENGINE = InnoDB DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
?
-- Guilds
?
CREATE TABLE `guilds` (
??????????????? `guild_id` int(10) unsigned NOT NULL auto_increment,
??????????????? `leader_id` int(10) unsigned NOT NULL UNIQUE,
??????????????? `guildname` varchar(32) NOT NULL UNIQUE,
??????????????? `password` varchar(11) NOT NULL,
??????????????? PRIMARY KEY (`guild_id`),
??????????????? FOREIGN KEY (`leader_id`) REFERENCES users(`user_id`) ON DELETE CASCADE
) ENGINE = InnoDB DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
?
-- Special User Data
?
CREATE TABLE `user_data` (
??????????????? `user_id` int(10) unsigned NOT NULL,
??????????????? `notrade` tinyint(1) NOT NULL default 0,
??????????????? `lastlogin` DATETIME NOT NULL,
??????????????? `guild_id` int(10) unsigned default NULL,
??????????????? PRIMARY KEY (`user_id`),
??????????????? FOREIGN KEY (`user_id`) REFERENCES users(`user_id`) ON DELETE CASCADE,
??????????????? FOREIGN KEY (`guild_id`) REFERENCES guilds(`guild_id`) ON DELETE SET NULL
) ENGINE = InnoDB DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
?
-- Buddy List
?
CREATE TABLE `buddy_list` (
??????????????? `user1_id` int(10) unsigned NOT NULL,
??????????????? `user2_id` int(10) unsigned NOT NULL,
??????????????? PRIMARY KEY (`user1_id`, `user2_id`),
??????????????? FOREIGN KEY (`user1_id`) REFERENCES users(`user_id`) ON DELETE CASCADE,
??????????????? FOREIGN KEY (`user2_id`) REFERENCES users(`user_id`) ON DELETE CASCADE
) ENGINE = InnoDB DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
?
-- PM Inbox Data
?
CREATE TABLE `inbox` (
??????????????? `pm_id` int(10) unsigned NOT NULL auto_increment,
??????????????? `recipient_id` int(10) unsigned NOT NULL,
??????????????? `sendername` varchar(32) NOT NULL,
??????????????? `senddate` DATETIME NOT NULL,
??????????????? `message` text NOT NULL,
??????????????? `unread` tinyint(1) NOT NULL default 1,
??????????????? PRIMARY KEY (`pm_id`),
??????????????? FOREIGN KEY (`recipient_id`) REFERENCES users(`user_id`) ON DELETE CASCADE
) ENGINE = InnoDB DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
?
-- Saved Data
?
CREATE TABLE `save_data` (
??????????????? `user_id` int(10) unsigned NOT NULL,
??????????????? `data_name` varchar(255) NOT NULL,
??????????????? `data_value` text NOT NULL,
??????????????? PRIMARY KEY (`user_id`, `data_name`),
??????????????? FOREIGN KEY (`user_id`) REFERENCES users(`user_id`) ON DELETE CASCADE
) ENGINE = InnoDB DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
?
COMMIT;
[Msg] Finished - Unsuccessfully

Ja, ich habe die .sql Datei hier für euch hochgeladen: http://www.filehosting.at/file/details/430768/RMX-OS%20SQL%20Database.s ...
Als Datenbankmanager verwende ich Navicat.
Kommentar vom Moderator Dani am 22.04.2013 um 21:44:46 Uhr
Formatierungen eingefügt. Da bekommt man sonst Augenkrebs.

Content-Key: 205453

Url: https://administrator.de/contentid/205453

Ausgedruckt am: 19.03.2024 um 09:03 Uhr

Mitglied: catachan
catachan 22.04.2013 um 19:27:36 Uhr
Goto Top
Hi

welche Datenbank verwendest du ? Steht in dem SQL Skript wirklich lauter ????? drin ?

LG
Mitglied: ePiCkAi
ePiCkAi 22.04.2013 aktualisiert um 21:44:18 Uhr
Goto Top
Der reguläre Skript lautet:
-- SQL Database for RMX-OS
-- by Blizzard

START TRANSACTION;

-- these two are used to create the database and can be ommited in case the database already exists
CREATE DATABASE IF NOT EXISTS `rmxosdb` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
USE `rmxosdb`;

DROP TABLE IF EXISTS `save_data`;
DROP TABLE IF EXISTS `inbox`;
DROP TABLE IF EXISTS `buddy_list`;
DROP TABLE IF EXISTS `user_data`;
DROP TABLE IF EXISTS `guilds`;
DROP TABLE IF EXISTS `ips`;
DROP TABLE IF EXISTS `users`;

-- Registered Users

CREATE TABLE `users` (
	`user_id` int(10) unsigned NOT NULL auto_increment,
	`username` varchar(32) NOT NULL UNIQUE,
	`password` varchar(11) NOT NULL,
	`usergroup` int(10) NOT NULL default 0,
	`banned` tinyint(1) NOT NULL default 0,
	PRIMARY KEY (`user_id`)
) ENGINE = InnoDB DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

-- IPs

CREATE TABLE `ips` (
	`user_id` int(10) unsigned NOT NULL,
	`ip` varchar(15) NOT NULL,
	PRIMARY KEY (`user_id`, `ip`),
	FOREIGN KEY (`user_id`) REFERENCES users(`user_id`) ON DELETE CASCADE
) ENGINE = InnoDB DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

-- Guilds

CREATE TABLE `guilds` (
	`guild_id` int(10) unsigned NOT NULL auto_increment,
	`leader_id` int(10) unsigned NOT NULL UNIQUE,
	`guildname` varchar(32) NOT NULL UNIQUE,
	`password` varchar(11) NOT NULL,
	PRIMARY KEY (`guild_id`),
	FOREIGN KEY (`leader_id`) REFERENCES users(`user_id`) ON DELETE CASCADE
) ENGINE = InnoDB DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

-- Special User Data

CREATE TABLE `user_data` (
	`user_id` int(10) unsigned NOT NULL,
	`notrade` tinyint(1) NOT NULL default 0,
	`lastlogin` DATETIME NOT NULL,
	`guild_id` int(10) unsigned default NULL,
	PRIMARY KEY (`user_id`),
	FOREIGN KEY (`user_id`) REFERENCES users(`user_id`) ON DELETE CASCADE,
	FOREIGN KEY (`guild_id`) REFERENCES guilds(`guild_id`) ON DELETE SET NULL
) ENGINE = InnoDB DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

-- Buddy List

CREATE TABLE `buddy_list` (
	`user1_id` int(10) unsigned NOT NULL,
	`user2_id` int(10) unsigned NOT NULL,
	PRIMARY KEY (`user1_id`, `user2_id`),
	FOREIGN KEY (`user1_id`) REFERENCES users(`user_id`) ON DELETE CASCADE,
	FOREIGN KEY (`user2_id`) REFERENCES users(`user_id`) ON DELETE CASCADE
) ENGINE = InnoDB DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

-- PM Inbox Data

CREATE TABLE `inbox` (
	`pm_id` int(10) unsigned NOT NULL auto_increment,
	`recipient_id` int(10) unsigned NOT NULL,
	`sendername` varchar(32) NOT NULL,
	`senddate` DATETIME NOT NULL,
	`message` text NOT NULL,
	`unread` tinyint(1) NOT NULL default 1,
	PRIMARY KEY (`pm_id`),
	FOREIGN KEY (`recipient_id`) REFERENCES users(`user_id`) ON DELETE CASCADE
) ENGINE = InnoDB DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

-- Saved Data

CREATE TABLE `save_data` (
	`user_id` int(10) unsigned NOT NULL,
	`data_name` varchar(255) NOT NULL,
	`data_value` text NOT NULL,
	PRIMARY KEY (`user_id`, `data_name`),
	FOREIGN KEY (`user_id`) REFERENCES users(`user_id`) ON DELETE CASCADE
) ENGINE = InnoDB DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

COMMIT;
Was meinst du mit "welche Datenbank"?
Mitglied: wiesi200
wiesi200 22.04.2013 um 20:48:31 Uhr
Goto Top
Hallo,

Mit welcher Datenbank meint er: MySQL, MSQL, Oracle usw.

Sag mal hast du eigentlich deine andere Frage schon aufgegeben, oder willst du da uns da noch das eine oder andere Detail verraten? Geht's da um ne Webseite oder wie oder was.

Gestern hast du's ja schon nicht erwarten können als du nach einer Stunde keine Antwort bekommen hast.
Mitglied: ePiCkAi
ePiCkAi 22.04.2013 aktualisiert um 20:53:21 Uhr
Goto Top
Ich nutze Navicat Premium und will die Datenbank für ein MMORPG nutzen.
Mitglied: wiesi200
wiesi200 22.04.2013 um 21:32:02 Uhr
Goto Top
Wow, jetzt überschwemmst du uns direkt mit Infos!

Darf ich mal Raten? MySQL auf nem Webspace? Vielleicht noch von dem Anbieter?

Wenn Ja, Warum Arbeitest du dann mit Navicat? Die meisten stellen doch myPHPAdmin bereit.

Jetzt Las uns bitte nicht mehr raten, dann fangen wir auch mal an dir zu helfen.
Mitglied: ePiCkAi
ePiCkAi 22.04.2013 um 21:55:18 Uhr
Goto Top
Ich wollte eben auch lokal spielen und habe deshalb eine Datenbank mit Navicat erstellt. Welchen kostenlosen Anbieter könnt ihr mir für den Beginn empfehlen? Aber ich habe, wie gesagt, die Befürchtung, dass etwas in der .sql Datei nicht stimmt.
Mitglied: Hitman4021
Hitman4021 22.04.2013 um 22:33:30 Uhr
Goto Top
Hallo,

ohne mir jetzt deine SQL File anzuschauen:
http://dev.mysql.com/doc/refman/5.1/de/innodb-error-codes.html

Gruß

PS.: Das ist ne MySQL DB. Aber warum dust du dir sowas an wenn du nicht mal weist welches DBMS du benutzt?
Mitglied: wiesi200
wiesi200 23.04.2013 um 11:39:31 Uhr
Goto Top
Also grundsätzlich das SQL Script passt bei einer MySQL Datenbank.

Jetzt will ich nicht fragen warum du für sowas ein Programm für 600€ verwendest nur um einen DB Server zu verwalten obwohl du nicht's mit DB's am hut hast.

Jetzt du möchtest es Lokal im Netzt laufen lassen.

Als Grundlage hast du:

A: Einen Windows PC
B: Einen Linux PC
C: Das Teil mit dem komischen Apfel drauf

Darauf läuft:
A: eine MySQL Datenbank
B: ein Microsoft SQL Server
C: nie gehört

Und wenn ich jetzt nicht vernünftige Antworten kriege geb ich's auf.
Mitglied: Nordichammer
Nordichammer 23.04.2013 um 14:28:36 Uhr
Goto Top
Vermutlich A: ein Windows PC
Vermutlich A: eine Mysql-Datenbank, aus XAMPP oder sonstwas aber keine eigenständige

Probier mal die .sql Files direkt über die mysql konsole zu importieren. Google hilft und weiß für dich, wie das geht.
Mitglied: ePiCkAi
ePiCkAi 23.04.2013 um 19:42:38 Uhr
Goto Top
A und A

Das Problem ist einfach, dass die Tabelle durch den sql. File nicht generiert werden kann und mir die Anweisungen bzw. Hilfestellungen aus Google nicht weiterhelfen. Ich beschäftige mich nun schon seit mehreren Tagen damit und komme einfach nicht voran.
Mitglied: wiesi200
wiesi200 23.04.2013 um 19:58:20 Uhr
Goto Top
Ok, hast du auch genügend rechte um eine Datenbank zu erstellen?
Hast du MySQL manuell installiert oder irgendein XAMPP Packet verwendet?

schon mal versucht manuell eine Datenbank zu erstellen?
Mitglied: ePiCkAi
ePiCkAi 23.04.2013 um 20:01:58 Uhr
Goto Top
Ja, ich bin als Administrator eingeloggt.
Habe ich manuell installiert.

Was meinst du?
Mitglied: Nordichammer
Nordichammer 24.04.2013 um 08:31:15 Uhr
Goto Top
artjom@Pawelezkaja:~$ mysql -u root -p < /tmp/rmx.sql
Enter password:
artjom@Pawelezkaja:~$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 52
Server version: 5.5.29-0ubuntu0.12.04.2 (Ubuntu)

Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> use rmxosdb;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables;
+-------------------+
| Tables_in_rmxosdb |
+-------------------+
| buddy_list |
| guilds |
| inbox |
| ips |
| save_data |
| user_data |
| users |
+-------------------+
7 rows in set (0.00 sec)

mysql> Bye


Also das .sql File läuft ohne Probleme, wenn es über Console eingespielt wird, durch. Lass mal Navicat weg und spiel das File über die Mysqlconsole ein. Das müsste dann auch ohne Probleme funktionieren. Getestet hab ich das ganze auf einem Ubuntu 12 mit einem Mysql 5.5

Mit Navicat hatte ich auch schonmal Probleme eine Datenbank einzuspielen. Dann von Hand über Konsole und das lief, so wie es sollte. Liegt demnach an Navicat
Mitglied: ePiCkAi
ePiCkAi 24.04.2013 um 16:35:47 Uhr
Goto Top
ok, aber mit welchen Befehlen erstelle ich eine Datenbank in der Console und wie füge ich die .sql-Datei ein. Die Befehle aus Google funken irgendwie nicht.
Mitglied: ePiCkAi
ePiCkAi 24.04.2013 um 18:15:05 Uhr
Goto Top
Habe es probiert, trotzdem werden aber keine Tabelen generiert. Ich weiß einfach nicht, was ich falsch mache:
[img]http://i34.tinypic.com/2n0lqx4.jpg[/img]
Mitglied: Nordichammer
Nordichammer 24.04.2013 um 19:03:04 Uhr
Goto Top
Einmal neu über Konsole einloggen, dann folgende Befehle, hab es gerade probiert und es geht.

Drop database rmxosdb;

source C:\Users\Pat2903\Desktop\Pokemon MMORPG\Server\Database\RMX-OX SQL Database.sql

use database rmxosdb;

show tables;


Fertig und du siehst 7 Tables in deiner DB
Mitglied: ePiCkAi
ePiCkAi 24.04.2013 um 19:34:41 Uhr
Goto Top
Funkt leider nicht...
http://i38.tinypic.com/21re3n.jpg
Mitglied: Nordichammer
Nordichammer 24.04.2013 um 19:59:42 Uhr
Goto Top
Zitat von @Nordichammer:
use database rmxosdb;

show tables;


Fertig und du siehst 7 Tables in deiner DB


Sorry mein Fehler. Sollte heißten:

use rmxosdb;


Sollte gehen, danach dann show tables;
Mitglied: ePiCkAi
ePiCkAi 24.04.2013 um 20:49:03 Uhr
Goto Top
danke, hat jetzt funktioniert ^^