Mailinglisten-Archive |
SELFComput at aol.com wrote: > [...9 > Also habe ich die Registerkarte "Indexe" geöffnet, dort das Feld BelegNr > von "verfügbare > Felder" auf "verwendete Felder" geschoben und versucht, bei den rechts > davon angezeigten > Indextypen die Option "Unique" zu aktivieren. Offensichtlich läßt das > aber meine Software nicht zu. das geht nicht weil bei Index-Name noch 'PRIMARY' stand! (der PRIMARY ist ein reservierter Name für den Primary Key, und der ist sowieso UNIQUE!) > Ich kann überhaupt keinen Indextype aktivieren. Statt dessen > steht bei "Indexname" hartnäckig "PRIMARY". > Jetzt habe ich einfach einen neuen Indexnamen hinzugefügt, den ich > "BelegNr" genannt > habe. > Damit konnte ich wenigstens erstmal dort den Indextype auf "Unique" > stellen - damit habe > ich für BelegNr wahrscheinlich zwei Indextypen. warum glaubst du das? > Allerdings ziegt sich, daß mir das nicht allzuviel nützt. Wenn ich > nämlich die Tabelle über > ODBC in mein Access einbinde, so bekomme ich während dieses > Einbindevorganges die > dabei normal übliche Anweisung: "Um die Datenintegrität sicherzustellen > und Datensätze in > dieser Tabelle zu aktualisieren, muß ein Feld oder müssen mehrere Felder > zur eindeutigen > Identifizierung jedes Datensatzes ausgewählt werden. Bis zu 10 Felder > können ausgewählt > werden." ja einen PRIMARY sollte man _immer_ haben! > Wenn ich mich dann für BelegNr entscheide wird dieses Feld als > Primary-Key-Feld in > meiner Tabelle genommen. Öffne ich dann die Tabelle in der normalen > Tabellenansicht, > gelingt es mir trotzdem, an die Tabelle noch Datensätze mit gleicher > Belegnummer > anzufügen. Dabei werden witzigerweise die Daten aus dem schon > bestehendem Datensatz > mit gleicher BelegNr einfach übernommen - der Datensatz füllt sich also > selbst. Im Endeffekt > sind dann aber zwei völlig identische Datensätze da, was ich unbedingt > vermeiden will. ich glaube nicht das du dann zwei Datensätze hast, weil das nicht geht! es wird wohl eher an dem verkrüppelten Access (sorry) liegen was den User immer etwas Dumm dastehen lässt weil es einfach zu viele Aufgaben abnimmt und der Benutzer eigentlich nicht versteht was passiert! > Sebastian - Du als Profi - weißt doch bestimmt was da schief läuft. ja weiß ich, dir fehlt leider noch einiges an Verständnis im Umgang mit Tabellen! :-/ Wenn das Feld `BelegNr` auf Unique steht _kann_ niemand einen zweiten Datensatz einfügen mit dem selben Inhalt!! auch ODBC nicht! weil das das DBMS (MySQL) nicht zu lassen würde. einen PRIMARY-Key solltest du auch auf jeden fall haben! wenn du noch keinen hast dann setz den gleich auf `BelegNr`, der PRIMARY-Key ist auch UNIQUE PRIMARY und UNIQUE sind zwei spezielle Index-Typen UNIQUE ist ein Index der außerdem einzigartig ist PRIMARY ist ein UNQUE Index der als ID für den gesamten Datensatz verwendet wird. wenn kein PRIMARY existiert wird automatisch der erste UNIQUE als PRIMARY verwendet, wenn keins von beiden existiert ist das ganz schlecht! p.s. versuch doch eventuell mal den MySQL Administrator http://www.mysql.com/products/administrator/index.html -- Sebastian Mendel (www.sebastianmendel.de) *www.warzonez.de* | www.tekkno4u.de | www.nofetish.com -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive