From a8ee77c7534583d6c041b06460f0cc10c61192d2 Mon Sep 17 00:00:00 2001 From: Foxytail8 Date: Sun, 7 Jun 2026 17:32:38 +0300 Subject: [PATCH 1/6] 'Solution' --- task.sql | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/task.sql b/task.sql index 8adf22b..bfdcee4 100644 --- a/task.sql +++ b/task.sql @@ -6,6 +6,9 @@ USE ShopDB; -- Start the transaction START TRANSACTION; --- And some data should be created inside the transaction +INSERT INTO Orders (CustomerID, Date) VALUES (1, '2023-01-01'); +INSERT INTO OrderItems (OrderID, ProductID, Count) +VALUES (LAST_INSERT_ID(), 1, 1); +UPDATE Products SET WarehouseAmount = WarehouseAmount - 1 WHERE ID = 1; COMMIT; \ No newline at end of file From 23499432f56ef6fc191312592074b82dac8115a8 Mon Sep 17 00:00:00 2001 From: Foxytail8 Date: Sun, 7 Jun 2026 17:46:29 +0300 Subject: [PATCH 2/6] 'Solution2' --- task.sql | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/task.sql b/task.sql index bfdcee4..ab66e9e 100644 --- a/task.sql +++ b/task.sql @@ -2,7 +2,8 @@ USE ShopDB; -- Some data should be created outside the transaction (here) - +DROP DATABASE ShopDB; +source ./create-database.sql -- Start the transaction START TRANSACTION; From b254f6737b28d57f5d574b40500c09d3a1a246ed Mon Sep 17 00:00:00 2001 From: Foxytail8 Date: Sun, 7 Jun 2026 17:50:12 +0300 Subject: [PATCH 3/6] 'Solution3' --- task.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/task.sql b/task.sql index ab66e9e..86ca16a 100644 --- a/task.sql +++ b/task.sql @@ -3,7 +3,7 @@ USE ShopDB; -- Some data should be created outside the transaction (here) DROP DATABASE ShopDB; -source ./create-database.sql +source /script/create-database.sql -- Start the transaction START TRANSACTION; From 3cb45e9eec66fb9e5242b7b2cb3cc0b3b85e5a40 Mon Sep 17 00:00:00 2001 From: Foxytail8 Date: Sun, 7 Jun 2026 17:53:15 +0300 Subject: [PATCH 4/6] 'Solution4' --- task.sql | 46 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 45 insertions(+), 1 deletion(-) diff --git a/task.sql b/task.sql index 86ca16a..d3cfa78 100644 --- a/task.sql +++ b/task.sql @@ -3,7 +3,51 @@ USE ShopDB; -- Some data should be created outside the transaction (here) DROP DATABASE ShopDB; -source /script/create-database.sql +CREATE DATABASE ShopDB; +USE ShopDB; + +CREATE TABLE Products ( + ID INT AUTO_INCREMENT, + Name VARCHAR(50), + Description VARCHAR(100), + Price INT, + WarehouseAmount INT, + PRIMARY KEY (ID) +); + +CREATE TABLE Customers ( + ID INT AUTO_INCREMENT, + FirstName VARCHAR(50), + LastName VARCHAR(50), + Email VARCHAR(50), + Address VARCHAR(50), + PRIMARY KEY (ID) +); + +CREATE TABLE Orders ( + ID INT AUTO_INCREMENT, + CustomerID INT, + FOREIGN KEY (CustomerID) REFERENCES Customers(ID) ON DELETE SET NULL, + Date DATE, + PRIMARY KEY (ID) +); + +CREATE TABLE OrderItems ( + ID INT AUTO_INCREMENT, + OrderID INT, + FOREIGN KEY (OrderID) REFERENCES Orders(ID) ON DELETE SET NULL, + ProductID INT, + Count INT, + FOREIGN KEY (ProductID) REFERENCES Products(ID) ON DELETE SET NULL, + PRIMARY KEY (ID) +); + +INSERT INTO Products (Name, Description, Price, WarehouseAmount) + VALUES ('AwersomeProduct', 'Product Desctiption', 5, 42); + +INSERT INTO Customers (FirstName, LastName, Email, Address) + VALUES ('John', 'Dou', 'j@dou.ua', 'far, far away'); + -- Start the transaction START TRANSACTION; From 3458207c785aff160d981120825cf220a34dab6a Mon Sep 17 00:00:00 2001 From: Foxytail8 Date: Sun, 7 Jun 2026 17:59:38 +0300 Subject: [PATCH 5/6] 'Solution5' --- task.sql | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/task.sql b/task.sql index d3cfa78..30a7928 100644 --- a/task.sql +++ b/task.sql @@ -48,10 +48,11 @@ INSERT INTO Products (Name, Description, Price, WarehouseAmount) INSERT INTO Customers (FirstName, LastName, Email, Address) VALUES ('John', 'Dou', 'j@dou.ua', 'far, far away'); + +INSERT INTO Orders (CustomerID, Date) VALUES (1, '2023-01-01'); -- Start the transaction START TRANSACTION; -INSERT INTO Orders (CustomerID, Date) VALUES (1, '2023-01-01'); INSERT INTO OrderItems (OrderID, ProductID, Count) VALUES (LAST_INSERT_ID(), 1, 1); UPDATE Products SET WarehouseAmount = WarehouseAmount - 1 WHERE ID = 1; From 06448dc0219615c9375557457a3dfdb2e2e9312a Mon Sep 17 00:00:00 2001 From: Foxytail8 Date: Sun, 7 Jun 2026 18:00:43 +0300 Subject: [PATCH 6/6] 'Solution6' --- task.sql | 1 - 1 file changed, 1 deletion(-) diff --git a/task.sql b/task.sql index 30a7928..a84b51c 100644 --- a/task.sql +++ b/task.sql @@ -48,7 +48,6 @@ INSERT INTO Products (Name, Description, Price, WarehouseAmount) INSERT INTO Customers (FirstName, LastName, Email, Address) VALUES ('John', 'Dou', 'j@dou.ua', 'far, far away'); - INSERT INTO Orders (CustomerID, Date) VALUES (1, '2023-01-01'); -- Start the transaction START TRANSACTION;