Ich versuche, Daten in eine Inventory-Tabelle einzufügen, indem ich eine UserID aus einer separaten Users-Tabelle abrufe, um eines der Felder zu füllen .;MySQL In Tabelle mit Werten von Inner Join einfügen
Inventory:
ProductID | PurchasedByUser | OtherAttributes
und eine Tabelle der Benutzer;
Users:
DBID | UserActive | UserName
1 | 1 | mathew
Bisher meine SQL wie folgt aussehen:
INSERT INTO Inventory (ProductID, PurchasedByUser, OtherAttributes)
SELECT 23, U.DBID, 'Yellow'
FROM Inventory U INNER JOIN Users ud
ON U.DBID = ud.DBID AND ud.UserActive = 1 AND UserName = 'mathew'
Edit: Ich möchte einen einzigen SQL INSERT Antrag stellen können ProductID (INT), PurchasedByUser (Users.DBID) hinzufügen , OtherAttributes (String) in die Inventory-Tabelle, ohne die DBID verfügbar zu machen und nur das Feld UserName zu übergeben.
Warum wollen Sie von 'Inventory' wählen? Und zitieren Sie Ihre statischen Werte wie Gelb und Mathew. –
Was ist 23 und was ist gelb? Und Sie mischen SELECT mit INSERT. Das ist eine völlig ungültige Abfrage – dimlucas
@dimlucas Sie sind nicht richtig => http://dev.mysql.com/doc/refman/5.7/en/insert-select.html – xAqweRx