Sql-problem

hallo zusammen,

ich hoffe hier kann mir jemand helfen. und zwar…

ich habe eine reminder.sql, in der steht

create database remindme;

grant all on remindme.* to remindme identified by „my_password“;

grant all on remindme.* to remindme@localhost identified by „my_password“;

use remindme;

DROP TABLE IF EXISTS bday_users;

CREATE TABLE bday_users(
user_id INT unsigned auto_increment not null,
user_email VARCHAR (250) NOT NULL,
user_password VARCHAR (35) NOT NULL,
created_date DATE,
UNIQUE (user_id),
PRIMARY KEY (user_id),
KEY (user_email)
);

DROP TABLE IF EXISTS bday_reminders;

CREATE TABLE bday_reminders(
reminder_id INT unsigned auto_increment not null,
user_id INT unsigned not null,
event_description VARCHAR (250),
event_date_month TINYINT unsigned default 0,
event_date_day TINYINT unsigned default 0,
event_date_year SMALLINT unsigned default 0,
remind_week_before CHAR (1) default ‚Y‘,
remind_day_before CHAR (1) default ‚Y‘,
remind_day_of CHAR (1) default ‚Y‘,
last_reminded DATE,
UNIQUE (reminder_id),
PRIMARY KEY (reminder_id),
KEY (user_id)
);

aber ich kann nur eine datenbank anlegen, und die muss usr_web76_1 heißen. user: web76

das problem muss in den ersten 4 zeilen liegen, aber ich hab alles ausprobiert und bekomme es nicht hin.

vielleicht weiss jemand rat.

danke roettges

Hallo roettges,

auch wenn es vielleicht nichts mit dem Problem zu tun hat: Welches Betriebssystem? Und auf jeden Fall: welche Datenbank? MySQL?
Zum Problem: ich verstehe es ehrlich gesagt nicht ganz.
Du willst per Script eine Datenbank mit ein paar Tabellen anlegen, aber was genau dabei nicht funktioniert, konnte ich Deinem Beitrag nicht entnehmen.

aber ich kann nur eine datenbank anlegen, und die muss
usr_web76_1 heißen. user: web76

???

Gruß, muzel

hallo muzel

erstmal danke für die mühe!

ich habe winxp und MySQL. ich habe eine reminder.sql-datei, die ich in meine db importieren soll. ich kann aber nur eine db nutzen, und die muss „usr_web76_1“ heissen.
also bekomme ich den fehler - dass keine db angelegt werden kann. wenn ich die ersten vier zeilen dieser sql-datei lösche, klappt es, nur habe ich dann keine zugriffsrechte mehr - wenn ich das richtig verstehe. und kann mich somit mit meinem php-script nicht anmelden.

es müssten also wahrscheinlich diese 4 zeilen so abgeändert werden, dass sie nicht auf bd „reminder“, sondern auf „usr_web76_1“ passen.
wenn ich aber dies ersetze bekomme ich immer den fehler: diened… (also kein zugriff)

gruss roettges

Kam der Fehler in der ersten Zeile oder danach?

es müssten also wahrscheinlich diese 4 zeilen so abgeändert
werden, dass sie nicht auf bd „reminder“, sondern auf
„usr_web76_1“ passen.

Ist wahrscheinlich richtig, es sei denn die DB existiert schon, dann kannst Du die erste Zeile löschen.
Die Frage ist, als welcher Nutzer Du das Script abfährst (ich kenne das Nutzerkonzept von MySQL nicht, aber es müßte doch so etwas wie einen Administrator oder Systemnutzer geben?).

Gruß muzel

ich habe eine reminder.sql, in der steht

create database remindme;

grant all on remindme.* to remindme identified by
„my_password“;

grant all on remindme.* to remindme@localhost identified by
„my_password“;

use remindme;
[…]
aber ich kann nur eine datenbank anlegen, und die muss
usr_web76_1 heißen. user: web76

Wenn ich das richtig gelesen habe, dann hostest du, wie auch ich, bei greatweb.de. Das mit der einen Datenbank und das mit den angegebenen Namensrestriktionen kenn ich. Die Datenbank „usr_web76_1“ sollte in diesem Fall bereits existieren, jedoch ohne Tabellen.

Wenn ich mich auf meine DB bei greatweb.de einloggen will, benutze ich dazu folgendes php-Script.

function DBconnect() {
global $benutzer, $passwort, $dbname, $host;
$benutzer = „web40“;
$passwort = „my_pasword“;
$dbname = „usr_web40_1“;
$host = „localhost“;

$link = mysql_connect($host,$benutzer,$passwort) or die („Konnte nicht mit MySQL verbinden.“);
@mysql_select_db($dbname) or die („Konnte nicht mit der Datenbank verbinden.“);
return $link;
}

Aber das nur nebenbei.
Am besten führst du das SQL-Script über phpMyAdmin aus. Dann bist du nämlich als root an der Datenbank angemeldet und kannst somit alles was vor „DROP TABLE …“ steht löschen. Dann sollte das Script funktionieren.
Es kann allerdings zu Problemen kommen, wenn du lokal eine andere, neuere Version von mySQL benutzt, als auf dem Server installiert ist. Dass sind dann aber meist nur Syntaxveränderungen.