Which SQL statement correctly defines a foreign key with referential integrity enforcement?
easy📝 Syntax Q12 of 15
SQL - Table Relationships
Which SQL statement correctly defines a foreign key with referential integrity enforcement?
AINSERT INTO Orders (OrderID, CustomerID) VALUES (1, 100);
BCREATE TABLE Orders (OrderID INT, CustomerID INT PRIMARY KEY);
CALTER TABLE Orders ADD FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID);
DSELECT * FROM Orders WHERE CustomerID = Customers.CustomerID;
Step-by-Step Solution
Solution:
Step 1: Identify foreign key syntax
The correct syntax to add a foreign key is using ALTER TABLE with ADD FOREIGN KEY referencing another table's column.
Step 2: Check each option
ALTER TABLE Orders ADD FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID); correctly adds a foreign key constraint. CREATE TABLE Orders (OrderID INT, CustomerID INT PRIMARY KEY); wrongly sets CustomerID as primary key without foreign key. INSERT INTO Orders (OrderID, CustomerID) VALUES (1, 100); is an insert, not a constraint. SELECT * FROM Orders WHERE CustomerID = Customers.CustomerID; is a select query, not a constraint definition.
Final Answer:
ALTER TABLE Orders ADD FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID); -> Option C