php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 22.10.2006, 15:09  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard Primärschlüssel, Unique

Hallo,
ich lege gerade eine Datenbankstruktur an für ein Newsletter-Administrationstool.

In der Tabelle `newsletter_users` gibt es nun den Primärschlüssel `nu_id` (auto_increment) und normale Spalten: `np_id`- und `email` (etc.)

`nu_id` steht für Newsletter-User ID, `np_id` für Newsletter-Project ID. Ein Newsletter-Projekt gibt es deshalb, damit pro Kunde mehrere Newsletter-Systeme laufen können. Z.B. für den deutsch- und englischsprachigen Bereich, der möglicherweise auf der selben Datenbank läuft, aber inhaltlich andere Promotions o.ä. über Newsletter verbreiten möchte.

D.h. ich würde gerne die beiden Spalten `np_id` und `email` gekoppelt als weiteren Primärschlüssel eintragen (eigentlich als UNIQUE-Spalte). Ist das bei MySQL vorgesehen und möglich? Meine MySQL-Kenntnisse beschränken sich leider auf INSERT, UPDATE und SELECT, den Rest hat bisher immer phpMyAdmin übernommen.
Zergling-new ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 22.10.2006, 16:30  
Erfahrener Benutzer
 
Registriert seit: 05.07.2004
Beiträge: 1.476
DiBo33
Standard

Sollte so gehen

Code:
CREATE UNIQUE INDEX np_id_email_index 
ON `newsletter_users` (np_id, email)
DiBo33 ist offline   Mit Zitat antworten
Alt 22.10.2006, 16:58  
Erfahrener Benutzer
 
Registriert seit: 18.07.2004
Beiträge: 2.162
PHP-Kenntnisse:
Fortgeschritten
Basti
Standard

Du kannst auch beiden Feldern den PK verpassen:
Code:
 
CREATE TABLE `something` (
  `id1` int(11) NOT NULL,
  `id2` int(11) NOT NULL,
  PRIMARY KEY  (`id1`,`id2`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

INSERT INTO `pk_test2` (`id1`, `id2`) VALUES 
(1, 2),
(1, 3),
(2, 2);
Ist es übrigens so gedacht, dass ein Benutzer mehrere E-Mail-Adressen haben kann? Andernfalls hat das Feld email ja nichts in der Zuordnungstabelle verloren.

Basti
Basti ist offline   Mit Zitat antworten
Alt 22.10.2006, 17:22  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Hallo, danke für eure Antworten. CREATE UNIQUE INDEX war genau das was ich gesucht habe. Läßt sich sogar über phpMyAdmin erweitern (für Tester-Einträge).

Die E-Mail-Adresse soll pro Projekt einzigartig sein, in Kombination mit bisher verschwiegenem "tester" Flag.

Den "tester" Flag gibt es deswegen, weil bevor ein Newsletter versendet wird, werden Test-Newsletter an ausgewählte "tester" aus der User-Tabelle versendet.

Tester sollen so "echt" wie User sein, daher unterscheiden sie sich nur in einem Flag. Es gibt zusätzlich noch eine `newsletter_user_properties` Tabelle.
Zergling-new ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Index über 2 Spalten, unique mAy^daY Datenbanken 5 09.08.2007 16:02
[solved] LEFT JOIN - #1066 - Not unique table/alias moose Datenbanken 6 12.12.2006 06:41
Problem mit Unique PKs <Daniel> Datenbanken 3 09.11.2006 11:22
PRIMARY und UNIQUE Floezen Datenbanken 3 27.09.2006 22:46
ftp account erstellen in confixx umgebung PHP-Fortgeschrittene 5 15.02.2006 20:41
UNIQUE Frage ( abfrage problem ) Mondschein Datenbanken 6 08.11.2005 12:44
PRIMARY KEY + KEY + UNIQUE? Datenbanken 1 01.11.2005 08:10
Alle Einträge ausgeben, bei den sich eine Spalte UNIQUE ist. Datenbanken 1 09.10.2005 23:33
Unique PHPmyadmin socke PHP Tipps 2005-2 1 21.08.2005 17:30
2 verschachtelte while Schleifen. Großes Performanceproblem Datenbanken 3 30.05.2005 12:52
UNIQUE Key? Datenbanken 1 16.02.2005 10:20
Fehler 1066: Not unique table/alias: 'person' Stümper Datenbanken 4 30.07.2004 12:02

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
phpmyadmin unique, phpmyadmin primärschlüssel, phpmyadmin index unique, primärschlüssel unique, mysql primärschlüssel unique, phpmyadmin unique eintragen, mysql unique phpmyadmin, mysql primärschlüssel index unique, phpmyadmin zwei primärschlüssel, unique phpmyadmin, unique datenbank, primärschlüssel index unique, http://www.php.de/datenbanken/42598-primaerschluessel-unique.html, mysql primärschlüssel, datenbank primärer schlüssel, phpmyadmin index primärschlüssel, primärschlüssel unique index, unique primärschlüssel, phpmyadmin mehrere primärschlüssel, datenbank unique

Alle Zeitangaben in WEZ +2. Es ist jetzt 05:19 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.