2017-11-06 8 views
-1

Ich habe eine Tabelle, die Bücher speichert:Wie kann ich mehrere Werte in SQL speichern?

CREATE TABLE `Books` (
    `book_id` int(250) NOT NULL, 
    `book_name` varchar(100) NOT NULL, 
    `book_author` varchar(10) NOT NULL, 
    `book_genre` varchar(100) NOT NULL, 
    `book_floor` int(5) NOT NULL, 
    `book_shelf` int(255) NOT NULL, 
    `book_amount` int(255) NOT NULL, 
    `book_available` int(255) NOT NULL 
) ENGINE=InnoDB DEFAULT CHARSET=utf8; 

Ich mag eine Tabelle der Benutzer schreiben, die eine Spalte für Bücher hätten sie ausgeliehen, so hat es die ganzen Informationen über das Buch zu speichern, von einem Buch Tabelle und es sollte möglich sein, mehrere Bücher zu speichern. Wie kann ich das machen?

+0

Sehen Sie sich die grundlegenden Normalformen und (eine | viele) -zu- (eine | viele) Beziehungen an, beides grundlegende Aspekte des Datenbankentwurfs. Du willst nicht wirklich "alle Informationen über das Buch" duplizieren, was furchtbar überflüssig wäre - du willst angeben, welche Benutzer welche Bücher geliehen haben, nach Schlüssel, in einer Verknüpfungstabelle und nichts weiter. –

+0

Diese Antwort/Frage könnte Ihnen wirklich helfen [Wie implementiert man eine Viele-zu-Viele-Beziehung?] (Https://stackoverflow.com/questions/9789736/how-to-implement-a-many-to-many-relationship -in-postgresql) –

+0

Mögliches Duplikat von [Speichern mehrerer Werte für ein einzelnes Feld in einer Datenbank] (https://stackoverflow.com/questions/10572987/storing-multiple-values-for-a-single-field-in- a-Datenbank) oder https://stackoverflow.com/questions/24865310/how-to-store-multiple-values-in-single-field-in-sql-database oder https://dba.stackexchange.com/questions/59594/how-to-multiple-value-in-column-in-sql-server oder https://stackoverflow.com/questions/25236652/how-to-store-multiple-values-in-same-sql speichern -Säule oder wahrscheinlich zehn oder sogar Hunderte von anderen. Hast du überhaupt versucht zu suchen? –

Antwort

2

eine dritte Tabelle borrowed books Verwenden Sie die books und users

0

Sie eine viele zu viele Beziehung zwischen Benutzern und Bücher haben verbinden würde. Sie können dies nicht nur mit diesen 2 Tabellen tun. Sie benötigen eine 'UserBooks'-Tabelle. Diese Tabelle hat einen Primärschlüssel mit user_id und book_id.

Also, im Grunde für jedes Buch, das ein Benutzer ausgeliehen hat, haben Sie eine Zeile in dieser Tabelle, die die ID des Benutzers der Buch-ID zuordnet.

Verwandte Themen