2016-12-03 5 views
0

Wie lautet die korrekte Syntax zum Einfügen von Daten in eine Tabelle mit einem Fremdschlüssel? Ich muss Informationen in Purchase Details Tabelle einfügen, aber der Spaltenname PurchaseNo ist ein Fremdschlüssel für die Purchases Tabelle. Dies ist meine Datenbank:So fügen Sie Daten in die Tabelle mit Fremdschlüssel ein

Kaufinformationen:

  • RefNo (PRIMARY KEY, UNIQUE)
  • PurchaseNo (FOREIGN KEY)
  • ProductID (FOREIGN KEY)
  • Menge

Einkäufe:

  • PurchaseNo (PRIMARY KEY, UNIQUE)
  • SupplierID (FOREIGN KEY)
  • DatePurchased
  • DateReceived
  • ReceiptNo
  • Der Status

Das ist mein Ziel:

My goal is to view the Product & Quantity in the right side when I clicked the add button from the left side (Inserting Supplier, Product, Quantity)

meine Syntax Code hinter ist:

using (SqlConnection con = new SqlConnection(kb.GetConnection())) 
{ 
con.Open(); 
string query = @"INSERT INTO PurchaseDetails VALUES (@PurchaseNo, @ProductID, @Quantity)" 
} 
+1

Welche RDBMS verwenden Sie? – GurV

+0

MySql? idk, wenn ich Ihre Frage beantwortet habe –

+0

Überprüfen Sie dies, wenn es hilft: http://StackOverflow.com/Questions/5178697/mysql-insert-into-multiple-tables-Database-Normalization – GurV

Antwort

0

Es gibt einen keinen Unterschied in der Syntax mit oder ohne Fremdschlüssel ist nur, was Sie mit Fremdschlüssel benötigen, um sicherzustellen, dass Sie Daten einfügen müssen zuerst in der Fremdschlüssel wird referenziert.

In Ihrem Fall müssen Sie Daten in die Produkt- und Lieferantentabelle einfügen, bevor Sie Daten in die Einkaufstabelle einfügen.

1

Sie können etwas tun:

SqlCommand yourCommand = new SqlCommand(@"INSERT INTO [TableName] (SelectColumns) Values " + " SELECT SomeKey, ColumnName FROM TableName WHERE YourCondition)", myConnection) 
Verwandte Themen