[de-users] [Base 4.4.4.3] Fehler Nr. 1452 beim schreiben in einer Realationstabelle
Hallo, ich versuche gerade ein Beispiel aus dem Base Handbuch 4.3 ca. ab Seite 38 nachzuvollziehen. Jedoch habe ich dazu nicht die interne Datenbank sondern eine mySQL Datenbank im XXX Format verwendet. Hier das SQL Statement zur Erzeugung der Datenbank: --- schnipp --- -- phpMyAdmin SQL Dump -- version 4.2.13.3 -- http://www.phpmyadmin.net -- -- Host: localhost -- Erstellungszeit: 10. Jul 2015 um 19:49 -- Server Version: 10.0.20-MariaDB -- PHP-Version: 5.6.1 SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; SET time_zone = "+00:00"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8 */; -- -- Datenbank: `Versuch_rel` -- -- -- -- Tabellenstruktur für Tabelle `Namen` -- CREATE TABLE IF NOT EXISTS `Namen` ( `ID` int(7) NOT NULL, `Vorname` varchar(100) DEFAULT NULL, `Name` varchar(100) DEFAULT NULL ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8; -- -- Daten für Tabelle `Namen` -- INSERT INTO `Namen` (`ID`, `Vorname`, `Name`) VALUES (1, 'Jens', 'Ruckelshäuser-Heine'), (2, 'Gerda', 'Heine'); -- -- -- Tabellenstruktur für Tabelle `rel_Name_Sportart` -- CREATE TABLE IF NOT EXISTS `rel_Name_Sportart` ( `ID_Name` int(10) NOT NULL, `ID_Sportart` varchar(5) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -- -- Tabellenstruktur für Tabelle `Sportart` -- CREATE TABLE IF NOT EXISTS `Sportart` ( `ID_Sportart` varchar(5) NOT NULL, `Sportart` varchar(100) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -- Daten für Tabelle `Sportart` -- INSERT INTO `Sportart` (`ID_Sportart`, `Sportart`) VALUES ('BBAll', 'Basketball'), ('FBall', 'Fußball'), ('HBall', 'Handball'), ('TTenn', 'Tischtennis'), ('VBall', 'Voleyball'); -- -- Indizes der exportierten Tabellen -- -- -- Indizes für die Tabelle `Namen` -- ALTER TABLE `Namen` ADD PRIMARY KEY (`ID`); -- -- Indizes für die Tabelle `rel_Name_Sportart` -- ALTER TABLE `rel_Name_Sportart` ADD PRIMARY KEY (`ID_Name`,`ID_Sportart`), ADD KEY `ID_Sportart` (`ID_Sportart`); -- -- Indizes für die Tabelle `Sportart` -- ALTER TABLE `Sportart` ADD PRIMARY KEY (`ID_Sportart`); -- -- AUTO_INCREMENT für exportierte Tabellen -- -- -- AUTO_INCREMENT für Tabelle `Namen` -- ALTER TABLE `Namen` MODIFY `ID` int(7) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=5; -- -- Constraints der exportierten Tabellen -- -- -- Constraints der Tabelle `rel_Name_Sportart` -- ALTER TABLE `rel_Name_Sportart` ADD CONSTRAINT `rel_Name_Sportart_ibfk_1` FOREIGN KEY (`ID_Name`) REFERENCES `Namen` (`ID`) ON UPDATE CASCADE, ADD CONSTRAINT `rel_Name_Sportart_ibfk_2` FOREIGN KEY (`ID_Sportart`) REFERENCES `Sportart` (`ID_Sportart`) ON DELETE CASCADE ON UPDATE CASCADE; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; --- schnapp --- Wenn ich nun versuche über Base und die im Handbuch auf Seite 38 beschriebene SQL Anweisung einen Datensatz in die Relationsdatenbank zu schreiben, bekomme ich immer den Fehlercode 1452 geliefert. Es kann kein neuer Datensatz in der Tabelle angelegt werden. Hat jemand eine Idee? Liebe Grüße Jens -- Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org Probleme? http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de Listenarchiv: http://listarchives.libreoffice.org/de/users/ Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert
Re: [de-users] [Base 4.4.4.3] Fehler Nr. 1452 beim schreiben in einer Realationstabelle
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hallo Jens, > > > -- -- Indizes für die Tabelle `rel_Name_Sportart` -- ALTER TABLE > `rel_Name_Sportart` ADD PRIMARY KEY (`ID_Name`,`ID_Sportart`), ADD > KEY `ID_Sportart` (`ID_Sportart`); Den 2. Teil dieser Anweisung habe ich weg gelassen. Auch im Handbuch habe ich da nur den gemeinsamen Primärschlüssel stehen. > > Wenn ich nun versuche über Base und die im Handbuch auf Seite 38 > beschriebene SQL Anweisung einen Datensatz in die > Relationsdatenbank zu schreiben, bekomme ich immer den Fehlercode > 1452 geliefert. Es kann kein neuer Datensatz in der Tabelle > angelegt werden. Das ist für mich etwas schwieriger zu verstehen: Ich habe hier verschiedene Handbuchversionen. Zu jeder neuen LO-Version kommt auch ein neues Handbuch raus. Die aktuelle 4.4-Version hat auf s. 38 ein Formular mit einem Listenfeld stehen - keine SQL-Anweisung. Ich habe also lediglich einmal versucht, in die Verbindungstabelle Werte ein zu geben und das Formular entsprechend nach zu bauen. Das funktioniert bei mir ohne Probleme. Gruß Robert -BEGIN PGP SIGNATURE- Version: GnuPG v2 iQIcBAEBAgAGBQJVoL9PAAoJELDKYwaoS9AIL5kQAIdfNypvfywRP3Spp6G2YbCf 2MeFjYGI2Air5BYeO+6+hSADwFd+is280XUInDsa0OXhmRJjTKYDjA+yYpGyWmpQ TSja6+JAbzoOVd0yjzRTpt21cRQikMpsRLRRWxMGXb8GNbz+vaXCF18w45EHzL28 RIXWePkYmHOAPNu8mtG7JJGxgijeplBSoGdgVCQGyNA4EB/z6LoYbx2OdTF2IFQy bEIdmIw5vc12lkSvMljHTLH8qNIngGF+rpRArt/Fx1c3dN6hVE23BmQ5OR8CCrGc w6Fpeth7J38wlHtQ/JEOjK+KYYtFU5aRP9UIPOrFSYvrbQzwGKLreGV2qYhzSWbD LCDcoFZk799+0+PYdp1zCTF/qZHLmlb/c4aMhmA5eH6lJEQt3H07P3BWK1yD3vFT 85GmRE23ytjMrIwxXVzO3MgttvptDHO4QojCToJjvnIuXS5VkL3BQxy22kfNYpMw iIF2uYUkTdoywo2+bu0WGD32C95bpC6wns7LYDqsxZpByWjxS/y+3HJNHkGDsUV4 R+TNFL2j3/SDYHFMzplfDPJ90sQjlXlTdc78HQ6X5o6KTlsjQFVtuezIjRTLA897 uF3tVaILzoGwXMJyQBCNwvW6iuqfDoji6O3xJeYF8DyqgmtI1YJLWqg2S9lBqm4I quxboiMk0mJ9rYuVgVQO =BjI1 -END PGP SIGNATURE- -- Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org Probleme? http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de Listenarchiv: http://listarchives.libreoffice.org/de/users/ Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert
Re: [de-users] [Base 4.4.4.3] Fehler Nr. 1452 beim schreiben in einer Realationstabelle
Hallo Robert, vielen Dank für Deine schnelle Antwort, Am 11.07.2015 um 09:01 schrieb Robert Großkopf: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hallo Jens, -- -- Indizes für die Tabelle `rel_Name_Sportart` -- ALTER TABLE `rel_Name_Sportart` ADD PRIMARY KEY (`ID_Name`,`ID_Sportart`), ADD KEY `ID_Sportart` (`ID_Sportart`); Den 2. Teil dieser Anweisung habe ich weg gelassen. Auch im Handbuch habe ich da nur den gemeinsamen Primärschlüssel stehen. Wenn ich nun versuche über Base und die im Handbuch auf Seite 38 beschriebene SQL Anweisung einen Datensatz in die Relationsdatenbank zu schreiben, bekomme ich immer den Fehlercode 1452 geliefert. Es kann kein neuer Datensatz in der Tabelle angelegt werden. Das ist für mich etwas schwieriger zu verstehen: Ich habe hier verschiedene Handbuchversionen. Zu jeder neuen LO-Version kommt auch ein neues Handbuch raus. Die aktuelle 4.4-Version hat auf s. 38 ein Formular mit einem Listenfeld stehen - keine SQL-Anweisung. Ähm ja, Entschuldigung, ich habe mich auf mein gedrucktes Handbuch (Version 4.3) bezogen, und dann auch später erst bemerkt, dass in der Version 4.4 (als PDF) da ein anderer Inhalt ist. Ich habe also lediglich einmal versucht, in die Verbindungstabelle Werte ein zu geben und das Formular entsprechend nach zu bauen. Das funktioniert bei mir ohne Probleme. Das Problem konnte auch bei mir gelöst werden, es lag an einer falschen Definition der Relation von der Tabelle Namen zu rel_Namen_Sportarten. Ich hatte da bei Update auf "cascade" gesetzt und nicht bei Delete. Ach ja, kann es sein, dass die Relationen in Version 4.4 nicht sauber gespeichert werden? Ich hatte es nun des öfteren, dass die Beziehungen zwar nach der Definition gut zu sehen waren, jedoch nach dem Speichern und Verlassen der DB und nach einem Neuaufruf waren lediglich die Tabellen zu sehen, nicht aber die Beziehungen zwischen den Tabellen. Anders ist das, wenn ich die Beziehungen nicht in LibreOffice Base erstelle sondern in phpMyAdmin, dann werden die auch korrekt in LibreOffice angezeigt. Liebe Grüße Jens -- Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org Probleme? http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de Listenarchiv: http://listarchives.libreoffice.org/de/users/ Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert
Re: [de-users] [Base 4.4.4.3] Fehler Nr. 1452 beim schreiben in einer Realationstabelle
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hallo Jens, > > Ach ja, kann es sein, dass die Relationen in Version 4.4 nicht > sauber gespeichert werden? Ich hatte es nun des öfteren, dass die > Beziehungen zwar nach der Definition gut zu sehen waren, jedoch > nach dem Speichern und Verlassen der DB und nach einem Neuaufruf > waren lediglich die Tabellen zu sehen, nicht aber die Beziehungen > zwischen den Tabellen. > > Anders ist das, wenn ich die Beziehungen nicht in LibreOffice Base > erstelle sondern in phpMyAdmin, dann werden die auch korrekt in > LibreOffice angezeigt. Du nutzt die MaraiaDB/MySQL. Es kann sehr wohl sein, dass da über LibreOffice ein Problem besteht. Das hängt (vermutlich) mit mehreren Faktoren zusammen: 1. Es gibt unterschiedliche Zugänge zu MySQL/MariaDB: direkt, JDBC, ODBC. 2. Nicht alle Tabellen von MySQL/MariaDB unterstützen Relationen: MyISAM (Ich kann mich an erste Versuche mit Base erinnern - da tauchte bei MySQL dann immer auf: "Diese Datenbank unterstützt keine Relationen") Wie verbindest Du mit MySQL/MariaDB? Gruß Robert -BEGIN PGP SIGNATURE- Version: GnuPG v2 iQIcBAEBAgAGBQJVohFwAAoJELDKYwaoS9AIUjgQAJCzJCcYbMwWx5wcN51CCVy4 38Uu2XW8jOjaV5UQ/x31mWowzwSiqzQy0LQuDhrBRMX/Nqu9Z6Om11a2pP3QO3m5 er0ycClFl98O2H81f9vZk4le5kyyZnvNFFrFy+iLlVeKtDeoEuuVra0/WDY1L5Ne Yuktb+QID06Tk5hZaYbEe5bD0Zkj2e+sskH02S2NjUepcGRkfQ+nYkQlGkAauQ6I KO7px9CcEuZCBNMiKsmFuCY03De9M7dXGsxMcgrvpUiISWP7bESY9NAlWO9cGqPd RYzGcznwYzym0K49l0Ss3Ski5ptPZH195ndfmeywyRZUTksXlXW9W9hb/b4R0+K3 ku/0C2WCSW3K89c5B4hsF7jidvd6vQNqCMwDVNfNFXCno/R9h6/DGBD+wQzCaFna 0GKhgirIditbiaOEO/ZzhO0PwNBLuCCFVHMrxAP83xKihie4lxrTEtJJUL9wb5j0 MkBW1N2+c/2MpbiqQv+IRd+hSWrK+jSea4Xnnc7I5/YuPC510EwAEV56q3Ra97Kh vBWl+jQm7vRb6K3mFmZzYh0tVBIYApg/Qb/9PbiM2lMkmesLkEqBLvIfLTxnQxKr PSFKbqjvHURJZIkGDQsiM9mOvz0iY1dCXCoxsCYoFdY2W5xmHRA8g/6HypJqzPl0 mW/hGXiQFgNS16lpUPt2 =Ff+4 -END PGP SIGNATURE- -- Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org Probleme? http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de Listenarchiv: http://listarchives.libreoffice.org/de/users/ Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert
Re: [de-users] [Base 4.4.4.3] Fehler Nr. 1452 beim schreiben in einer Realationstabelle
Hallo Robert, Am 12.07.2015 um 09:04 schrieb Robert Großkopf: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hallo Jens, Ach ja, kann es sein, dass die Relationen in Version 4.4 nicht sauber gespeichert werden? Ich hatte es nun des öfteren, dass die Beziehungen zwar nach der Definition gut zu sehen waren, jedoch nach dem Speichern und Verlassen der DB und nach einem Neuaufruf waren lediglich die Tabellen zu sehen, nicht aber die Beziehungen zwischen den Tabellen. Anders ist das, wenn ich die Beziehungen nicht in LibreOffice Base erstelle sondern in phpMyAdmin, dann werden die auch korrekt in LibreOffice angezeigt. Du nutzt die MaraiaDB/MySQL. Es kann sehr wohl sein, dass da über LibreOffice ein Problem besteht. Das hängt (vermutlich) mit mehreren Faktoren zusammen: 1. Es gibt unterschiedliche Zugänge zu MySQL/MariaDB: direkt, JDBC, ODBC. 2. Nicht alle Tabellen von MySQL/MariaDB unterstützen Relationen: MyISAM (Ich kann mich an erste Versuche mit Base erinnern - da tauchte bei MySQL dann immer auf: "Diese Datenbank unterstützt keine Relationen") Wie verbindest Du mit MySQL/MariaDB? Ich nutze die direkte Verbindung über den MySQL Connector, das Format der Tabellen meiner Datenbank ist InnoDB, wegen der Relationen... Bei InnoDB sollten die Relationen eigentlich gehen. Das die Verwaltung der Relationen über phpMyAdmin gut funktioniert, habe ich da momentan auch kein Problem. Hauptsache das Ergebnis läuft! Sollte ich eher eine andere Anbindung nutzen? Ich fand die Einrichtung über den Connector sehr einfach. Leider funktioniert der Tabellenfilter nicht, so dass ich immer alle MySQL Datenbanken in der Auswahl sehe, das ist aber auch nicht wirklich ein Problem. Vielen Dank für Deine Hilfe. Grüße Jens :-) -- Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org Probleme? http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de Listenarchiv: http://listarchives.libreoffice.org/de/users/ Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert
Re: [de-users] [Base 4.4.4.3] Fehler Nr. 1452 beim schreiben in einer Realationstabelle
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hallo Jens, > > Sollte ich eher eine andere Anbindung nutzen? Ich fand die > Einrichtung über den Connector sehr einfach. Leider funktioniert > der Tabellenfilter nicht, so dass ich immer alle MySQL Datenbanken > in der Auswahl sehe, das ist aber auch nicht wirklich ein Problem. Der Connector ist eigentlich die beste Lösung. Welche Version nutzt Du denn? Ich bekomme in dem Connector für Linux nur die Datenbank angezeigt, für die der Nutzer angemeldet wurde. Kann natürlich daran liegen, dass ich einen speziellen Nutzer für meine Test LO-MariaDB erstelle. Kann auch sein, dass das mit dem Linux-Connector anders läuft als mit dem Windows-Connector. In der 3-er-Versionen von LO hatte ich auch alle möglichen Datenbanken angezeigt bekommen. Gruß Robert -BEGIN PGP SIGNATURE- Version: GnuPG v2 iQIcBAEBAgAGBQJVonMdAAoJELDKYwaoS9AI+KAP/je++dnBPOOWTpxsQPQCPcfz nELCB4FDoyu8FCItvrm82OkEugPJUuDk/W4bNDvuNoEunbUeEq/OdOdr2Nxk27ju H/lcLvVPyL3iNN+XDOPbEyM0SXQlNcbJhMVVLYqRpRZVj1JBViUEe/c7Cdhp0qcg hpBWiTBhRIufIdPkUAm4nM09wyKmx2JohdlvFcZLWRUy3iNVYqkzjoGW+Rav68CF CXmNCAL50XvPab/RQ4R6gFxc4LhtRJlZ3T+2fv4LvENrhQqp9N6sxWd5uyfJJZY8 BiLycO5z3o31FM+ruNTcR3GlaQV8GMLtMyUhsun/a8zQ4e9mENwZKvCnlRwZC8+s EzjK0nLs7/IqMk6LmXBxZYha5reU94WMYPQgJuAKYVqG4diLdz+emiDH6uNZZk7K Jljrw19BSMIGQnbAIy+G5RzL64c7SFWrX3U8M3LDa8uPqCdIdgAVjDHAybcn1Obj h++09c6ptShl+0J1rhEyIdEkVh3Ypi5ThPDUlXHCOwHb+wk5AG2QqtI+CX1MqdzJ km/PCUIsvH25eUrVZMDbYzBc+Okzc1kPHUJ+u6HSkvnWtmDeo2H2DieDKYLUrfNV kqq4dA6fGXJbyLcQMVgPEpLjsenOjLtPLHB3/8p43rdzIY5EzHguYEYBHJ85zKMo Bek0Y9RruYqZ0nmpm1Xz =M2lr -END PGP SIGNATURE- -- Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org Probleme? http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de Listenarchiv: http://listarchives.libreoffice.org/de/users/ Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert