From c67b2186083c09bcc48ec3785abce97fcf80bf8c Mon Sep 17 00:00:00 2001 From: ll221 Date: Tue, 16 Jun 2026 00:09:07 +0300 Subject: [PATCH 1/7] 1 --- task.sql | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/task.sql b/task.sql index 8adf22b..baca19b 100644 --- a/task.sql +++ b/task.sql @@ -5,6 +5,12 @@ USE ShopDB; -- Start the transaction START TRANSACTION; +INSERT INTO Orders (CustomerID, Date) +VALUES (1, '2023-01-01'); + +INSERT INTO OrderItems (OrderID, ProductID) +VALUES (LAST_INSERT_ID(), 1); + -- And some data should be created inside the transaction From 54a37de05fa7b0c1820ccb8978069ee07beb36eb Mon Sep 17 00:00:00 2001 From: ll221 Date: Tue, 16 Jun 2026 00:12:15 +0300 Subject: [PATCH 2/7] 2 --- task.sql | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/task.sql b/task.sql index baca19b..94b1913 100644 --- a/task.sql +++ b/task.sql @@ -2,6 +2,11 @@ USE ShopDB; -- Some data should be created outside the transaction (here) +INSERT INTO Products (ID, Name, Description, Price, WarehouseAmount) +VALUES (1, 'AwersomeProduct', 'A great product', 100, 50); + +INSERT INTO Customers (ID, FirstName, LastName, Email, Address) +VALUES (1, 'John', 'Doe', 'john.doe@example.com', '123 Main St'); -- Start the transaction START TRANSACTION; From a8e9ff46966454e9d7cc067ecba385135edc293d Mon Sep 17 00:00:00 2001 From: ll221 Date: Tue, 16 Jun 2026 00:14:59 +0300 Subject: [PATCH 3/7] 3 --- task.sql | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/task.sql b/task.sql index 94b1913..9ba220a 100644 --- a/task.sql +++ b/task.sql @@ -9,14 +9,15 @@ INSERT INTO Customers (ID, FirstName, LastName, Email, Address) VALUES (1, 'John', 'Doe', 'john.doe@example.com', '123 Main St'); -- Start the transaction -START TRANSACTION; INSERT INTO Orders (CustomerID, Date) VALUES (1, '2023-01-01'); -INSERT INTO OrderItems (OrderID, ProductID) -VALUES (LAST_INSERT_ID(), 1); - +INSERT INTO OrderItems (OrderID, ProductID, Count) +VALUES (LAST_INSERT_ID(), 1, 1); +UPDATE Products +SET WarehouseAmount = WarehouseAmount - 1 +WHERE ID = 1; -- And some data should be created inside the transaction COMMIT; \ No newline at end of file From 883e163f163588dd09d7f8dd740f0a62630f126c Mon Sep 17 00:00:00 2001 From: ll221 Date: Tue, 16 Jun 2026 00:17:22 +0300 Subject: [PATCH 4/7] 4 --- create-database.sql | 37 ++++++++++++++----------------------- 1 file changed, 14 insertions(+), 23 deletions(-) diff --git a/create-database.sql b/create-database.sql index 342a055..e786c34 100644 --- a/create-database.sql +++ b/create-database.sql @@ -1,44 +1,35 @@ +DROP DATABASE IF EXISTS ShopDB; CREATE DATABASE ShopDB; USE ShopDB; CREATE TABLE Products ( - ID INT AUTO_INCREMENT, + ID INT AUTO_INCREMENT PRIMARY KEY, Name VARCHAR(50), Description VARCHAR(100), Price INT, - WarehouseAmount INT, - PRIMARY KEY (ID) + WarehouseAmount INT ); CREATE TABLE Customers ( - ID INT AUTO_INCREMENT, + ID INT AUTO_INCREMENT PRIMARY KEY, FirstName VARCHAR(50), LastName VARCHAR(50), - Email VARCHAR(50), - Address VARCHAR(50), - PRIMARY KEY (ID) + Email VARCHAR(100), + Address VARCHAR(50) ); CREATE TABLE Orders ( - ID INT AUTO_INCREMENT, - CustomerID INT, - FOREIGN KEY (CustomerID) REFERENCES Customers(ID) ON DELETE SET NULL, + ID INT AUTO_INCREMENT PRIMARY KEY, + CustomerID INT, Date DATE, - PRIMARY KEY (ID) + FOREIGN KEY (CustomerID) REFERENCES Customers(ID) ON DELETE SET NULL ); CREATE TABLE OrderItems ( - ID INT AUTO_INCREMENT, - OrderID INT, - FOREIGN KEY (OrderID) REFERENCES Orders(ID) ON DELETE SET NULL, - ProductID INT, + ID INT AUTO_INCREMENT PRIMARY KEY, + OrderID INT, + ProductID INT, Count INT, - FOREIGN KEY (ProductID) REFERENCES Products(ID) ON DELETE SET NULL, - PRIMARY KEY (ID) + FOREIGN KEY (OrderID) REFERENCES Orders(ID) ON DELETE SET NULL, + FOREIGN KEY (ProductID) REFERENCES Products(ID) ON DELETE SET NULL ); - -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'); From a3a548a5c87e4671f3d338c8934a5a34360d564b Mon Sep 17 00:00:00 2001 From: ll221 Date: Tue, 16 Jun 2026 00:21:08 +0300 Subject: [PATCH 5/7] 6 --- task.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/task.sql b/task.sql index 9ba220a..aa624b2 100644 --- a/task.sql +++ b/task.sql @@ -3,7 +3,7 @@ USE ShopDB; -- Some data should be created outside the transaction (here) INSERT INTO Products (ID, Name, Description, Price, WarehouseAmount) -VALUES (1, 'AwersomeProduct', 'A great product', 100, 50); +VALUES (1, 'AwersomeProduct', 'A great product', 100, 42); INSERT INTO Customers (ID, FirstName, LastName, Email, Address) VALUES (1, 'John', 'Doe', 'john.doe@example.com', '123 Main St'); From bbed57a8961d2aed82a6902dcaabee837935f329 Mon Sep 17 00:00:00 2001 From: ll221 Date: Tue, 16 Jun 2026 00:23:07 +0300 Subject: [PATCH 6/7] 7 --- task.sql | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/task.sql b/task.sql index aa624b2..2bec8aa 100644 --- a/task.sql +++ b/task.sql @@ -9,6 +9,8 @@ INSERT INTO Customers (ID, FirstName, LastName, Email, Address) VALUES (1, 'John', 'Doe', 'john.doe@example.com', '123 Main St'); -- Start the transaction +START TRANSACTION; + INSERT INTO Orders (CustomerID, Date) VALUES (1, '2023-01-01'); @@ -18,6 +20,5 @@ VALUES (LAST_INSERT_ID(), 1, 1); UPDATE Products SET WarehouseAmount = WarehouseAmount - 1 WHERE ID = 1; --- And some data should be created inside the transaction -COMMIT; \ No newline at end of file +COMMIT; \ No newline at end of file From 3571a76cd6fa466a9984fb64a5b1b45e3bdf2472 Mon Sep 17 00:00:00 2001 From: ll221 Date: Tue, 16 Jun 2026 00:25:03 +0300 Subject: [PATCH 7/7] 8 --- task.sql | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/task.sql b/task.sql index 2bec8aa..ab4266c 100644 --- a/task.sql +++ b/task.sql @@ -8,12 +8,11 @@ VALUES (1, 'AwersomeProduct', 'A great product', 100, 42); INSERT INTO Customers (ID, FirstName, LastName, Email, Address) VALUES (1, 'John', 'Doe', 'john.doe@example.com', '123 Main St'); +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);