kostenloser Webspace werbefrei: lima-city


MySql Fehler beim ausführen eines Befehls

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    willstdueswissen

    Kostenloser Webspace von willstdueswissen

    willstdueswissen hat kostenlosen Webspace.

    Der Befehl funtioniert auf meinem Lokalem rechner nur auf lima-city nicht:

    ALTER TABLE `rc_mail_plugin_manager`
      ADD CONSTRAINT `user_id_fk_plugin_manager` FOREIGN KEY (`user_id`) REFERENCES `users` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE;
    ALTER TABLE  `rc_mail_plugin_manager` DROP FOREIGN KEY  `user_id_fk_plugin_manager` ;
    ALTER TABLE  `rc_mail_plugin_manager` DROP  `user_id`;
    ALTER TABLE  `rc_mail_plugin_manager` ENGINE=MyISAM;
    UPDATE `rc_mail_system` SET `value`='initial|20131209' WHERE `name`='myrc_plugin_manager';


    Wieso?
    Kann mir jemand helfen?

    Danke schon mal im vorraus.
    MfG willstdueswissen
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Hast du die gleiche Datenbank auf beiden Servern? Und was für einen Fehler spuckt mySQL aus? Bin momentan bei der Arbeit, aber werde es Zuhause selbst testen.
  4. willstdueswissen schrieb:
    ... Wieso?
    Kann mir jemand helfen? ...
    nein!

    bei alter table gibt es unmengen, was man in betracht ziehen muss. daher: bitte mysql version, mysql fehlermeldung und engine-type und - auch sehr wichtig - 'create table rc_mail_plugin_manager;' hier posten und zwar so von dort, wo es geht und von lima, wo es eben nicht geht. sonst helfe dir odin.

    was ich so ad hoc sehe ist:
    zuerst
    ALTER TABLE ...
      ADD CONSTRAINT `user_id_fk_plugin_manager`
        FOREIGN KEY ... REFERENCES ...
    dann
    ALTER TABLE  ...
      DROP FOREIGN KEY user_id_fk_plugin_manager
    was ein bekannter workaround für genau das problem
    ADD CONSTRAINT name FOREIGN KEY (....) ...
    ist. leider in verkehreter reihenfolge! wo hast du die 5 queries so wie sie da stehen her?

    also wenn alle meine vermutungen stimmen (ich muss hier leider hellsehen!), dann zuerst '... DROP FOREIGN KEY ...' und dann erst '... ADD CONSTRAINT ... FOREIGN KEY ...'!

    aber nach ansicht dessen was ich am anfang fett-gedruckt geschrieben habe, könnte ich erst 'sicher raten' :biggrin:

    Beitrag zuletzt geändert: 7.4.2014 15:52:52 von czibere
  5. der Befehl funktioniert nicht?
    Aber das sind doch mehrere SQL-Staments! :wave:
    Bei welchem taucht denn das Problem wirklich auf :confused:
    Schon mal "per Hand" über CLI von MYPHPADMIN versucht ?
    Geht es etwas konkreter? :singer:

    Beitrag zuletzt geändert: 7.4.2014 20:47:50 von dunkeltuten
  6. Autor dieses Themas

    willstdueswissen

    Kostenloser Webspace von willstdueswissen

    willstdueswissen hat kostenlosen Webspace.

    c143 schrieb:
    Hast du die gleiche Datenbank auf beiden Servern?

    Ja eine habe ich hier auf Lima-City.de (funtkioniert nicht) und die andere mit xampp.


    Und was für einen Fehler spuckt mySQL aus? Bin momentan bei der Arbeit, aber werde es Zuhause selbst testen.


    Diesen Fehler spuckt phpmyadmin aus:
    Fehler
    SQL-Befehl:
    
    ALTER TABLE  `rc_mail_plugin_manager` ADD CONSTRAINT  `user_id_fk_plugin_manager` FOREIGN KEY (  `user_id` ) REFERENCES  `users` (  `user_id` ) ON DELETE CASCADE ON UPDATE CASCADE ;
    
    
    MySQL meldet: Dokumentation
    
    #1005 - Can't create table 'db_284034_2.#sql-39a2_1a2db90' (errno: 150) (Details...)


    Dann noch der Befehl der davor ausgeführt wurde:
    (der hat auch funktioniert)

    CREATE TABLE IF NOT EXISTS `rc_mail_plugin_manager` (
      `id` int(10) NOT NULL AUTO_INCREMENT,
      `user_id` int(10) unsigned NOT NULL,
      `conf` text NOT NULL,
      `value` text,
      `type` text,
      PRIMARY KEY (`id`),
      KEY `user_id` (`user_id`),
      KEY `user_identities_index` (`user_id`)
    ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
    
    CREATE TABLE IF NOT EXISTS `rc_mail_system` (
     `name` varchar(64) NOT NULL,
     `value` mediumtext,
     PRIMARY KEY(`name`)
    );
    
    INSERT INTO `rc_mail_system` (name, value) VALUES ('myrc_plugin_manager', 'initial');


    Die MySql Version auf Lima sollte ja die 5 sein
    und xampp ist die selbe.

    Beide haben die Erweiterung mysqli

    czibere schrieb:

    wo hast du die 5 queries so wie sie da stehen her?



    Das ist von diesem plugin für roundcube:

    http://myroundcube.com/myroundcube-plugins/plugin-manager


    also wenn alle meine vermutungen stimmen (ich muss hier leider hellsehen!), dann zuerst '... DROP FOREIGN KEY ...' und dann erst '... ADD CONSTRAINT ... FOREIGN KEY ...'!

    aber nach ansicht dessen was ich am anfang fett-gedruckt geschrieben habe, könnte ich erst 'sicher raten' :biggrin:

    Das kann ich mal ausprobieren schon mal danke ^^

    dunkeltuten schrieb:
    der Befehl funktioniert nicht?
    Aber das sind doch mehrere SQL-Staments! :wave:
    Bei welchem taucht denn das Problem wirklich auf :confused:


    Na er springt hier raus:

    ALTER TABLE `rc_mail_plugin_manager`
      ADD CONSTRAINT `user_id_fk_plugin_manager` FOREIGN KEY (`user_id`) REFERENCES `users` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE;


    Und wenn noch ne Information fehlt, schreit sofort los und ich werde versuche sie euch zu geben.
  7. willstdueswissen schrieb:
    ... Diesen Fehler spuckt phpmyadmin aus:
    Fehler
    SQL-Befehl:
    
    ALTER TABLE  `rc_mail_plugin_manager` ADD CONSTRAINT  `user_id_fk_plugin_manager` FOREIGN KEY (  `user_id` ) REFERENCES  `users` (  `user_id` ) ON DELETE CASCADE ON UPDATE CASCADE ;
    
    
    MySQL meldet: Dokumentation
    
    #1005 - Can't create table 'db_284034_2.#sql-39a2_1a2db90' (errno: 150) (Details...)
    ...

    ;) sehr schön. siehst du es auch?
    ... (errno: 150) (Details...)
    ;) ;)
    ich weiß, du hast die details nicht unterschlagen. also mache folgendes (in der console):
    query_1.
    ALTER TABLE `rc_mail_plugin_manager`
      ADD CONSTRAINT `user_id_fk_plugin_manager` FOREIGN KEY (`user_id`) REFERENCES `users` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE;
    unmitelbar danach:
    query_2.
    SHOW ENGINE INNODB STATUS;
    was dann angezeigt wird, bitte posten. das sind die erwünschten 'details' ;)
  8. Autor dieses Themas

    willstdueswissen

    Kostenloser Webspace von willstdueswissen

    willstdueswissen hat kostenlosen Webspace.

    Dann kommt das:

    #1227 - Access denied; you need (at least one of) the PROCESS privilege(s) for this operation


    Ist das jetzt der Fehler oder habe ich nicht die Berechtigung diesen Befehl

    SHOW ENGINE INNODB STATUS;


    auszuführen.
  9. Du arbeitest ja mit "ALTER TABLE [...]"

    Ich habe mal nachgeschaut wie ich das bisher gemacht habe:
    Ich lege das CONSTRAINT direkt mit der Tabelle an:

    CREATE TABLE $mysqltable (
    timetunnel_id integer NOT NULL auto_increment UNIQUE,
    timetunnel_start datetime NOT NULL,
    timetunnel_finish datetime NOT NULL,
    timetunnel_object varchar(30) NOT NULL,
    timetunnel_objectid integer NOT NULL,
    timetunnel_objectaction varchar(30) NOT NULL,
    timetunnel_objectfleetid varchar(30) NOT NULL,
    timetunnel_username varchar(30) NOT NULL,
    timetunnel_worldsourceid integer NOT NULL,
    timetunnel_worldid integer NOT NULL,
    timetunnel_menge integer NOT NULL,
    timetunnel_r1kosten integer  NOT NULL,
    timetunnel_r2kosten integer  NOT NULL,
    timetunnel_r3kosten integer  NOT NULL,
    timetunnel_r4kosten integer  NOT NULL,
    CONSTRAINT pk_time PRIMARY KEY (timetunnel_finish,timetunnel_id)
    )
    ENGINE=InnoDB;

    Nur mal um den Fehler weiter einzugrenzen:
    Tabelle löschen oder umbenennen und dann nochmal direkt über "CREATE TABLE" incl. dem CONSTRAINT anlegen!

    Klappt es dann?
  10. willstdueswissen schrieb:
    Dann kommt das:

    #1227 - Access denied; you need (at least one of) the PROCESS privilege(s) for this operation


    Ist das jetzt der Fehler oder habe ich nicht die Berechtigung diesen Befehl

    SHOW ENGINE INNODB STATUS;


    auszuführen.
    yo mey! auf lima wirst du nie die rechte bekommen. mache es auf deinem localhost ;)
  11. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!