how to gather data from all the six tabels in mysql - mysql

I tried Inner join, however i m not able to figure out what is wrong i m doing.
How can I query data from all the 6 tables in the blue box.
The studentprofile table is what is the link between the other 5 tables in the blue region.
I ran this query and this showed me all the data.
select * from users, roles_assigned,studentprofile,schoolwithusers;
Problem I am facing is that I need only filted data for user who are students and school name and student profile
Please Help.
here is my sql code.
--
-- Database: `onlinemarksheets`
--
-- --------------------------------------------------------
--
-- Table structure for table `exams`
--
CREATE TABLE `exams` (
`id` int(11) NOT NULL,
`examtye_id` int(11) DEFAULT NULL,
`schooluser_id` int(11) DEFAULT NULL,
`duration_to` date DEFAULT NULL,
`duration_from` date DEFAULT NULL,
`year` date DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `examtype`
--
CREATE TABLE `examtype` (
`id` int(11) NOT NULL,
`type` enum('Mid-Term','Half-yearly','Yearly') DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
--
-- Dumping data for table `examtype`
--
INSERT INTO `examtype` (`id`, `type`) VALUES
(1, 'Mid-Term'),
(2, 'Half-yearly'),
(3, 'Yearly');
-- --------------------------------------------------------
--
-- Table structure for table `marks`
--
CREATE TABLE `marks` (
`id` int(11) NOT NULL,
`exam_id` int(11) DEFAULT NULL,
`name` varchar(45) DEFAULT NULL,
`marks_obtained` int(11) DEFAULT NULL,
`marks_total` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `roles`
--
CREATE TABLE `roles` (
`id` int(11) NOT NULL,
`type` enum('Admin','Teacher','Student') DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
--
-- Dumping data for table `roles`
--
INSERT INTO `roles` (`id`, `type`) VALUES
(1, 'Admin'),
(2, 'Teacher'),
(3, 'Student');
-- --------------------------------------------------------
--
-- Table structure for table `roles_assigned`
--
CREATE TABLE `roles_assigned` (
`id` int(11) NOT NULL,
`role_id` int(11) DEFAULT NULL,
`user_id` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
--
-- Dumping data for table `roles_assigned`
--
INSERT INTO `roles_assigned` (`id`, `role_id`, `user_id`) VALUES
(1, 1, 1),
(2, 2, 2),
(3, 3, 3),
(4, 3, 4),
(5, 3, 5),
(6, 3, 6),
(7, 1, 1),
(8, 2, 2),
(9, 3, 3),
(10, 3, 4),
(11, 3, 5),
(12, 3, 6);
-- --------------------------------------------------------
--
-- Table structure for table `schools`
--
CREATE TABLE `schools` (
`id` int(11) NOT NULL,
`schoolname` varchar(45) DEFAULT NULL,
`school_email` varchar(45) DEFAULT NULL,
`school_phone` varchar(45) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
--
-- Dumping data for table `schools`
--
INSERT INTO `schools` (`id`, `schoolname`, `school_email`, `school_phone`) VALUES
(1, 'D.A.V Public school', 'info#davschool.com', '789456123'),
(2, 'saraswati Public school', 'info#saraswatischool.com', '9998887774'),
(3, 'S.G.R.R Public School', 'Info#sgrr.com', '54245645125'),
(4, 'Sun Valley Public', 'info#sunvalley.com', '23423423424'),
(5, 'Marshal Public school', 'info#marshalschool.com', '23482728347');
-- --------------------------------------------------------
--
-- Table structure for table `schoolwithusers`
--
CREATE TABLE `schoolwithusers` (
`id` int(11) NOT NULL,
`school_id` int(11) DEFAULT NULL,
`studentprofile_id` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
--
-- Dumping data for table `schoolwithusers`
--
INSERT INTO `schoolwithusers` (`id`, `school_id`, `studentprofile_id`) VALUES
(1, 1, 3),
(2, 3, 4);
-- --------------------------------------------------------
--
-- Table structure for table `studentprofile`
--
CREATE TABLE `studentprofile` (
`id` int(11) NOT NULL,
`user_id_fk` int(11) DEFAULT NULL,
`rollno` int(11) DEFAULT NULL,
`dob` date DEFAULT NULL,
`attendence` int(11) DEFAULT NULL,
`class` int(11) DEFAULT NULL,
`section` enum('A','B') DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
--
-- Dumping data for table `studentprofile`
--
INSERT INTO `studentprofile` (`id`, `user_id_fk`, `rollno`, `dob`, `attendence`, `class`, `section`) VALUES
(1, 3, 22, '2022-01-21', 60, 1, 'A'),
(2, 4, 21, '2012-01-04', 45, 1, 'A'),
(3, 4, 1, '2012-01-04', 100, 3, 'B'),
(4, 5, 30, '2007-04-26', 45, 3, 'B'),
(5, 6, 2, '2022-01-19', 50, 6, 'B');
-- --------------------------------------------------------
--
-- Table structure for table `users`
--
CREATE TABLE `users` (
`id` int(11) NOT NULL,
`fname` varchar(45) DEFAULT NULL,
`lname` varchar(45) DEFAULT NULL,
`email` varchar(45) DEFAULT NULL,
`password` varchar(45) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
--
-- Dumping data for table `users`
--
INSERT INTO `users` (`id`, `fname`, `lname`, `email`, `password`) VALUES
(1, 'Shashank', 'Naithani', 'shashank8036#gmail.com', 'lol123'),
(2, 'Kuldeep', 'Negi', 'negikuldeep#gmail.com', 'lop123'),
(3, 'Arpit', 'Thakut', 'Aptha#gmail.com', 'arp123'),
(4, 'Ankit', 'Barthwal', 'ankitbarth#gmail.com', 'ankit123'),
(5, 'Mukesh', 'Thakur', 'sasdb#gmail.com', 'sha123'),
(6, 'Arjun', 'Negi', 'sasdb#gmail.com', 'sha123');
--
-- Indexes for dumped tables
--
--
-- Indexes for table `exams`
--
ALTER TABLE `exams`
ADD PRIMARY KEY (`id`),
ADD KEY `examtye_id` (`examtye_id`) USING BTREE,
ADD KEY `schooluser_id` (`schooluser_id`);
--
-- Indexes for table `examtype`
--
ALTER TABLE `examtype`
ADD PRIMARY KEY (`id`);
--
-- Indexes for table `marks`
--
ALTER TABLE `marks`
ADD PRIMARY KEY (`id`),
ADD KEY `exam_id` (`exam_id`);
--
-- Indexes for table `roles`
--
ALTER TABLE `roles`
ADD PRIMARY KEY (`id`);
--
-- Indexes for table `roles_assigned`
--
ALTER TABLE `roles_assigned`
ADD PRIMARY KEY (`id`),
ADD KEY `role_id` (`role_id`) USING BTREE,
ADD KEY `user_id` (`user_id`) USING BTREE;
--
-- Indexes for table `schools`
--
ALTER TABLE `schools`
ADD PRIMARY KEY (`id`);
--
-- Indexes for table `schoolwithusers`
--
ALTER TABLE `schoolwithusers`
ADD PRIMARY KEY (`id`),
ADD KEY `school_id` (`school_id`) USING BTREE,
ADD KEY `studentprofile_id` (`studentprofile_id`);
--
-- Indexes for table `studentprofile`
--
ALTER TABLE `studentprofile`
ADD PRIMARY KEY (`id`),
ADD KEY `user_id_idx` (`user_id_fk`);
--
-- Indexes for table `users`
--
ALTER TABLE `users`
ADD PRIMARY KEY (`id`);
--
-- AUTO_INCREMENT for dumped tables
--
--
-- AUTO_INCREMENT for table `exams`
--
ALTER TABLE `exams`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `examtype`
--
ALTER TABLE `examtype`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;
--
-- AUTO_INCREMENT for table `marks`
--
ALTER TABLE `marks`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `roles`
--
ALTER TABLE `roles`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;
--
-- AUTO_INCREMENT for table `roles_assigned`
--
ALTER TABLE `roles_assigned`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=13;
--
-- AUTO_INCREMENT for table `schools`
--
ALTER TABLE `schools`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6;
--
-- AUTO_INCREMENT for table `schoolwithusers`
--
ALTER TABLE `schoolwithusers`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;
--
-- AUTO_INCREMENT for table `studentprofile`
--
ALTER TABLE `studentprofile`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6;
--
-- AUTO_INCREMENT for table `users`
--
ALTER TABLE `users`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=7;
--
-- Constraints for dumped tables
--
--
-- Constraints for table `exams`
--
ALTER TABLE `exams`
ADD CONSTRAINT `examtye_id` FOREIGN KEY (`examtye_id`) REFERENCES `examtype` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
ADD CONSTRAINT `schooluser_id` FOREIGN KEY (`schooluser_id`) REFERENCES `schoolwithusers` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION;
--
-- Constraints for table `marks`
--
ALTER TABLE `marks`
ADD CONSTRAINT `exam_id` FOREIGN KEY (`exam_id`) REFERENCES `exams` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION;
--
-- Constraints for table `roles_assigned`
--
ALTER TABLE `roles_assigned`
ADD CONSTRAINT `role_id` FOREIGN KEY (`role_id`) REFERENCES `roles` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
ADD CONSTRAINT `user_id` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION;
--
-- Constraints for table `schoolwithusers`
--
ALTER TABLE `schoolwithusers`
ADD CONSTRAINT `school_id` FOREIGN KEY (`school_id`) REFERENCES `schools` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
ADD CONSTRAINT `studentprofile_id` FOREIGN KEY (`studentprofile_id`) REFERENCES `studentprofile` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION;
--
-- Constraints for table `studentprofile`
--
ALTER TABLE `studentprofile`
ADD CONSTRAINT `user_id_fk` FOREIGN KEY (`user_id_fk`) REFERENCES `users` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION;
COMMIT;

You have to join each table on the primary key/foreign key. Some of the sample data is not quite correct because you have duplicate combinations of student_id and roles_id values in the roles_assigned table. Be sure to list the column names you need instead of *.
select *
from users
INNER JOIN roles_assigned ON users.id = roles_assigned.user_id
INNER JOIN roles ON roles.id = roles_assigned.role_id
INNER JOIN studentprofile on studentprofile.id = users.id
INNER JOIN schoolwithusers on schoolwithusers.studentprofile_id =
studentprofile.id
INNER JOIN schools ON schools.id = schoolwithusers.school_id
WHERE roles.type = 'Student';

Related

Why delete query only delete one record

Hi I’ve got the folowing query:
DELETE tickets, archive, files
FROM tickets
LEFT JOIN ticket_files
ON ticket_files.ticket_id = tickets.ticket_id
LEFT JOIN archive
ON archive.document_id = ticket_files.document_id
LEFT JOIN files
ON files.file_id = ticket_files.file_id
WHERE tickets.ticket_id = 21
When the ticket doesn’t have any record in the junction table ticket_files then the ticket is deleted correctly but if there is more than one record in the ticket_files then only one record is deleted from the tables archive and files. How can i make sure all the joined records are deleted also from archive and files? many thanks
This is the database structure. As you can see the ticket with ID 1 has got two files associated in the ticket_files table but ticket with ID 2 doesn't have any files associated.
-- phpMyAdmin SQL Dump
-- version 5.1.0
-- https://www.phpmyadmin.net/
--
-- Host: localhost:8889
-- Generation Time: Mar 28, 2022 at 07:35 PM
-- Server version: 5.7.34
-- PHP Version: 8.0.8
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
START TRANSACTION;
SET time_zone = "+00:00";
--
-- Database: `test`
--
-- --------------------------------------------------------
--
-- Table structure for table `archive`
--
CREATE TABLE `archive` (
`document_id` int(11) NOT NULL,
`document_sent_by` int(11) NOT NULL,
`document_description` varchar(255) NOT NULL,
`document_category` int(11) NOT NULL,
`document_status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '1=public 0=draft',
`document_featured` tinyint(1) NOT NULL DEFAULT '0' COMMENT '0=no 1=yes',
`document_note` varchar(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
--
-- Dumping data for table `archive`
--
INSERT INTO `archive` (`document_id`, `document_sent_by`, `document_description`, `document_category`, `document_status`, `document_featured`, `document_note`) VALUES
(23, 1, 'File one', 7, 1, 0, 'File one'),
(24, 1, 'File two', 7, 1, 0, 'File two');
-- --------------------------------------------------------
--
-- Table structure for table `files`
--
CREATE TABLE `files` (
`file_id` int(11) NOT NULL,
`file_name` varchar(255) NOT NULL,
`file_type` varchar(255) NOT NULL,
`file_size` varchar(255) NOT NULL,
`file_date` datetime DEFAULT CURRENT_TIMESTAMP,
`file_category` int(11) NOT NULL,
`file_status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '1=public 0=draft',
`file_path` varchar(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
--
-- Dumping data for table `files`
--
INSERT INTO `files` (`file_id`, `file_name`, `file_type`, `file_size`, `file_date`, `file_category`, `file_status`, `file_path`) VALUES
(23, '1648496062', 'application/pdf', '9514', '2022-03-02 00:00:00', 7, 1, '/docs/1648496062.pdf'),
(24, '1648496079', 'application/pdf', '146367', '2022-03-09 00:00:00', 7, 1, '/docs/1648496079.pdf');
-- --------------------------------------------------------
--
-- Table structure for table `tickets`
--
CREATE TABLE `tickets` (
`ticket_id` int(11) NOT NULL,
`ticket_sent_by` int(11) NOT NULL,
`building_id` int(11) NOT NULL,
`ticket_subject` varchar(255) NOT NULL,
`ticket_object` text NOT NULL,
`ticket_priority` tinyint(1) NOT NULL,
`ticket_status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '1=aperto 2=lavorazione 3=chiuso',
`ticket_comments` tinyint(1) NOT NULL DEFAULT '1' COMMENT '0=no 1=yes',
`ticket_visibility` tinyint(1) NOT NULL DEFAULT '1' COMMENT '1=public 0=draft',
`ticket_featured` tinyint(1) NOT NULL DEFAULT '0' COMMENT '0=no 1=yes',
`ticket_private` tinyint(1) NOT NULL DEFAULT '0' COMMENT ' 0=no 1=yes ',
`ticket_open_time` datetime DEFAULT CURRENT_TIMESTAMP,
`ticket_edit_time` datetime DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
--
-- Dumping data for table `tickets`
--
INSERT INTO `tickets` (`ticket_id`, `ticket_sent_by`, `building_id`, `ticket_subject`, `ticket_object`, `ticket_priority`, `ticket_status`, `ticket_comments`, `ticket_visibility`, `ticket_featured`, `ticket_private`, `ticket_open_time`, `ticket_edit_time`) VALUES
(1, 1, 13, 'Ticket with files', '<p>this ticket has files<br /></p>', 1, 1, 0, 1, 0, 0, '2022-03-28 20:33:59', NULL),
(2, 1, 13, 'Ticket with no files', '<p>ticket with no files<br /></p>', 1, 1, 0, 1, 0, 0, '2022-03-28 20:35:02', NULL);
-- --------------------------------------------------------
--
-- Table structure for table `ticket_files`
--
CREATE TABLE `ticket_files` (
`ticket_id` int(11) NOT NULL,
`document_id` int(11) NOT NULL,
`file_id` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
--
-- Dumping data for table `ticket_files`
--
INSERT INTO `ticket_files` (`ticket_id`, `document_id`, `file_id`) VALUES
(1, 23, 23),
(1, 24, 24);
--
-- Indexes for dumped tables
--
--
-- Indexes for table `archive`
--
ALTER TABLE `archive`
ADD PRIMARY KEY (`document_id`);
--
-- Indexes for table `files`
--
ALTER TABLE `files`
ADD PRIMARY KEY (`file_id`);
--
-- Indexes for table `tickets`
--
ALTER TABLE `tickets`
ADD PRIMARY KEY (`ticket_id`);
--
-- Indexes for table `ticket_files`
--
ALTER TABLE `ticket_files`
ADD KEY `ticket_id` (`ticket_id`),
ADD KEY `document_id` (`document_id`) USING BTREE,
ADD KEY `file_id` (`file_id`);
-- AUTO_INCREMENT for table `archive`
--
ALTER TABLE `archive`
MODIFY `document_id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=25;
--
-- AUTO_INCREMENT for table `files`
--
ALTER TABLE `files`
MODIFY `file_id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=25;
--
-- AUTO_INCREMENT for table `tickets`
--
ALTER TABLE `tickets`
MODIFY `ticket_id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;
--
-- Constraints for table `ticket_files`
--
ALTER TABLE `ticket_files`
ADD CONSTRAINT `ticket_files_ibfk_1` FOREIGN KEY (`ticket_id`) REFERENCES `tickets` (`ticket_id`) ON DELETE CASCADE,
ADD CONSTRAINT `ticket_files_ibfk_2` FOREIGN KEY (`document_id`) REFERENCES `archive` (`document_id`) ON DELETE CASCADE,
ADD CONSTRAINT `ticket_files_ibfk_3` FOREIGN KEY (`file_id`) REFERENCES `files` (`file_id`) ON DELETE CASCADE;
COMMIT;
We can add ticket_files to the list of the tables in the DELETE:
select * from ticket_files;
ticket_id | document_id | file_id
--------: | ----------: | ------:
1 | 23 | 23
1 | 24 | 24
DELETE tickets, archive, files, ticket_files
FROM tickets
LEFT JOIN ticket_files
ON ticket_files.ticket_id = tickets.ticket_id
LEFT JOIN archive
ON archive.document_id = ticket_files.document_id
LEFT JOIN files
ON files.file_id = ticket_files.file_id
WHERE tickets.ticket_id = 1
✓
select * from ticket_files;
ticket_id | document_id | file_id
--------: | ----------: | ------:
db<>fiddle here

converting MySQL syntax to PostgreSQL

So I designed a Bank database in MySQL, and now I want to convert some syntax to PostgreSQL
this is my account and branch table :
CREATE TABLE `account` (
`accountnumber` int(80) NOT NULL,
`balance` text COLLATE utf8_bin NOT NULL,
`date` date NOT NULL,
`time` time NOT NULL,
`branchID` int(25) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
CREATE TABLE `branch` (
`branchID` int(25) NOT NULL,
`bName` varchar(50) COLLATE utf8_bin NOT NULL,
`bCity` varchar(50) COLLATE utf8_bin NOT NULL,
`assests` bigint(20) NOT NULL,
`mainbankID` int(10) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
I converted it already, but I have problems with these parts:
ALTER TABLE `account`
ADD PRIMARY KEY (`accountnumber`),
ADD KEY `branchID` (`branchID`);
ALTER TABLE `account`
ADD CONSTRAINT `account_ibfk_1` FOREIGN KEY (`branchID`) REFERENCES `branch` (`branchID`);
for example, I tried to write the first one like this, and I got errors:
ALTER TABLE account
ADD PRIMARY KEY (accountnumber),
ADD KEY branchID (branchID);
and I got this error :
type "branchid" does not exist
and here's my piece of code that I converted and working in PostgreSQL :
--
-- Database: `bank`
--
-- --------------------------------------------------------
--
-- Table structure for table account
--
CREATE TABLE account (
accountnumber INTEGER NOT NULL,
balance text NOT NULL,
date date NOT NULL,
time time NOT NULL,
branchID INTEGER NOT NULL
) ;
--
-- Dumping data for table `account`
--
INSERT INTO account (accountnumber, balance, date, time, branchID) VALUES
(1132, 'توضیحات ترازنامه', '2021-07-12', '00:00:03', 516),
(1792, 'توضیحات ترازنامه', '2020-05-29', '11:17:27', 516),
(5130, 'توضیحات ترازنامه', '2016-02-23', '13:18:00', 123),
(7123, 'توضیحات ترازنامه', '2011-11-16', '10:25:00', 124),
(8210, 'توضیحات ترازنامه', '2019-01-11', '16:20:06', 215);
-- --------------------------------------------------------
--
-- Table structure for table `borrower`
--
CREATE TABLE borrower (
customerID INTEGER NOT NULL,
loanID INTEGER NOT NULL
) ;
--
-- Dumping data for table `borrower`
--
INSERT INTO borrower (customerID, loanID) VALUES
(7951, 357),
(1089, 357);
-- --------------------------------------------------------
--
-- Table structure for table `branch`
--
CREATE TABLE branch (
branchID INTEGER NOT NULL,
bName varchar(50) NOT NULL,
bCity varchar(50) NOT NULL,
assests bigint NOT NULL,
mainbankID INTEGER NOT NULL
) ;
--
-- Dumping data for table `branch`
--
INSERT INTO branch (branchID, bName, bCity, assests, mainbankID) VALUES
(123, 'سعادت اباد', 'تهران', 250000000, 1111),
(124, 'تجریش', 'همدان ', 5842000, 2222),
(215, 'خیابان قیام', 'یزد', 700000000, 2222),
(391, 'نقش جهان', 'اصفهان', 20100000, 1111),
(516, 'میرداماد', 'تهران', 953200000, 1111);
-- --------------------------------------------------------
--
-- Table structure for table `customer`
--
CREATE TABLE customer (
customerID INTEGER NOT NULL,
CName varchar(78) NOT NULL,
cphonenumber INTEGER NOT NULL,
cCity varchar(50) NOT NULL,
caddress text NOT NULL,
cage INTEGER NOT NULL
) ;
--
-- Dumping data for table `customer`
--
INSERT INTO customer (customerID, CName, cphonenumber, cCity, caddress, cage) VALUES
(412, 'معین سپهری', 387496, 'تهران', 'تهران شهرک غرب', 27),
(1089, 'سحر مقدم', 3254896, 'اصفهان', 'اصفهان پل خواجوو', 32),
(7951, 'ددا رضوی', 36232323, 'تهران', 'تهران شهرک اندیشه مجتمع رز', 26),
(463241, 'محمد فلاح', 3456213, 'یزد', 'یزد خیابان کاشانی کوچه علوی', 50);
-- --------------------------------------------------------
--
-- Table structure for table `depositor`
--
CREATE TABLE depositor (
customerID INTEGER NOT NULL,
accountnumber INTEGER NOT NULL
) ;
--
-- Dumping data for table `depositor`
--
INSERT INTO depositor (customerID, accountnumber) VALUES
(7951, 7123),
(463241, 5130),
(412, 1132),
(463241, 1132),
(1089, 1132);
-- --------------------------------------------------------
--
-- Table structure for table `employee`
--
CREATE TABLE employee (
EmployeeID INTEGER NOT NULL,
Employeework varchar(100) NOT NULL,
Employeename varchar(25) NOT NULL,
aphonenumber INTEGER NOT NULL,
Employmentyear smallint NOT NULL,
eaddress text NOT NULL,
esalary INTEGER NOT NULL,
branchID INTEGER NOT NULL
) ;
--
-- Dumping data for table `employee`
--
CREATE TABLE mainbank (
mainbankID INTEGER NOT NULL,
mainname varchar(25) NOT NULL,
constructionyear smallint NOT NULL,
budget INTEGER NOT NULL
) ;
--
-- Dumping data for table `mainbank`
--
INSERT INTO mainbank (mainbankID, mainname, constructionyear, budget) VALUES
(1111, 'saderat', 1925, 20000000),
(2222, 'melli', 1912, 100000000);
-- --------------------------------------------------------
--
-- Table structure for table `managment`
--
CREATE TABLE managment (
managmentID INTEGER NOT NULL,
managename varchar(25) NOT NULL,
mphonenumber INTEGER NOT NULL,
manageaddress text NOT NULL,
manageage INTEGER NOT NULL,
manageedu varchar(100) NOT NULL,
msalary INTEGER NOT NULL,
employmentyear smallint NOT NULL,
branchID INTEGER NOT NULL
) ;
--
-- Dumping data for table `managment`
--
INSERT INTO managment (managmentID, managename, mphonenumber, manageaddress, manageage, manageedu, msalary, employmentyear, branchID) VALUES
(1030, 'akbar fallah', 2146258, 'tehran pol sadr', 59, 'Master of Banking', 2100000000, 2011, 516),
(1046, 'mohammad alavi', 352146, 'yazd blv jomhorii', 63, 'Master of Banking', 18200000, 2016, 215);
-- --------------------------------------------------------
--
-- Table structure for table `safebox`
--
CREATE TABLE safebox (
safeboxID INTEGER NOT NULL,
price INTEGER NOT NULL,
date date NOT NULL,
time time(0) NOT NULL,
branchID INTEGER NOT NULL
) ;
--
-- Dumping data for table `safebox`
--
INSERT INTO safebox (safeboxID, price, date, time, branchID) VALUES
(162, 75000000, '2020-11-07', '20:03:41', 123),
(888, 28000000, '2020-04-22', '10:00:00', 391),
(1642, 160000, '2019-01-25', '10:25:04', 215);
-- --------------------------------------------------------
--
-- Table structure for table `servise`
--
CREATE TABLE servise (
serviseID INTEGER NOT NULL,
sname varchar(25) NOT NULL,
Employmentyear smallint NOT NULL,
sage INTEGER NOT NULL,
sphone INTEGER NOT NULL,
saddress text NOT NULL,
ssalary INTEGER NOT NULL,
branchID INTEGER NOT NULL
) ;
--
-- Dumping data for table `servise`
--
INSERT INTO servise (serviseID, sname, Employmentyear, sage, sphone, saddress, ssalary, branchID) VALUES
(13333, 'iman', 1999, 49, 213620, 'tehran andishe', 30000, 516),
(15555, 'hesam', 2015, 38, 216201, 'tehran tajrish', 300000, 124);
and this is my whole code in MySQL:
-- phpMyAdmin SQL Dump
-- version 4.8.5
-- https://www.phpmyadmin.net/
--
-- Host: 127.0.0.1
-- Generation Time: Jan 23, 2022 at 11:37 PM
-- Server version: 10.1.38-MariaDB
-- PHP Version: 7.3.3
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET AUTOCOMMIT = 0;
START TRANSACTION;
SET time_zone = "+00:00";
/*!40101 SET #OLD_CHARACTER_SET_CLIENT=##CHARACTER_SET_CLIENT */;
/*!40101 SET #OLD_CHARACTER_SET_RESULTS=##CHARACTER_SET_RESULTS */;
/*!40101 SET #OLD_COLLATION_CONNECTION=##COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
--
-- Database: `bank`
--
-- --------------------------------------------------------
--
-- Table structure for table `account`
--
CREATE TABLE `account` (
`accountnumber` int(80) NOT NULL,
`balance` text COLLATE utf8_bin NOT NULL,
`date` date NOT NULL,
`time` time NOT NULL,
`branchID` int(25) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
--
-- Dumping data for table `account`
--
INSERT INTO `account` (`accountnumber`, `balance`, `date`, `time`, `branchID`) VALUES
(1132, 'توضیحات ترازنامه', '2021-07-12', '00:00:03', 516),
(1792, 'توضیحات ترازنامه', '2020-05-29', '11:17:27', 516),
(5130, 'توضیحات ترازنامه', '2016-02-23', '13:18:00', 123),
(7123, 'توضیحات ترازنامه', '2011-11-16', '10:25:00', 124),
(8210, 'توضیحات ترازنامه', '2019-01-11', '16:20:06', 215);
-- --------------------------------------------------------
--
-- Table structure for table `borrower`
--
CREATE TABLE `borrower` (
`customerID` int(50) NOT NULL,
`loanID` int(50) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
--
-- Dumping data for table `borrower`
--
INSERT INTO `borrower` (`customerID`, `loanID`) VALUES
(7951, 357),
(1089, 357);
-- --------------------------------------------------------
--
-- Table structure for table `branch`
--
CREATE TABLE `branch` (
`branchID` int(25) NOT NULL,
`bName` varchar(50) COLLATE utf8_bin NOT NULL,
`bCity` varchar(50) COLLATE utf8_bin NOT NULL,
`assests` bigint(20) NOT NULL,
`mainbankID` int(10) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
--
-- Dumping data for table `branch`
--
INSERT INTO `branch` (`branchID`, `bName`, `bCity`, `assests`, `mainbankID`) VALUES
(123, 'سعادت اباد', 'تهران', 250000000, 1111),
(124, 'تجریش', 'همدان ', 5842000, 2222),
(215, 'خیابان قیام', 'یزد', 700000000, 2222),
(391, 'نقش جهان', 'اصفهان', 20100000, 1111),
(516, 'میرداماد', 'تهران', 953200000, 1111);
-- --------------------------------------------------------
--
-- Table structure for table `customer`
--
CREATE TABLE `customer` (
`customerID` int(50) NOT NULL,
`CName` varchar(78) COLLATE utf8_bin NOT NULL,
`cphone number` int(11) NOT NULL,
`cCity` varchar(50) COLLATE utf8_bin NOT NULL,
`caddress` text COLLATE utf8_bin NOT NULL,
`cage` int(3) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
--
-- Dumping data for table `customer`
--
INSERT INTO `customer` (`customerID`, `CName`, `cphone number`, `cCity`, `caddress`, `cage`) VALUES
(412, 'معین سپهری', 387496, 'تهران', 'تهران شهرک غرب', 27),
(1089, 'سحر مقدم', 3254896, 'اصفهان', 'اصفهان پل خواجوو', 32),
(7951, 'ددا رضوی', 36232323, 'تهران', 'تهران شهرک اندیشه مجتمع رز', 26),
(463241, 'محمد فلاح', 3456213, 'یزد', 'یزد خیابان کاشانی کوچه علوی', 50);
-- --------------------------------------------------------
--
-- Table structure for table `depositor`
--
CREATE TABLE `depositor` (
`customerID` int(50) NOT NULL,
`accountnumber` int(80) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
--
-- Dumping data for table `depositor`
--
INSERT INTO `depositor` (`customerID`, `accountnumber`) VALUES
(7951, 7123),
(463241, 5130),
(412, 1132),
(463241, 1132),
(1089, 1132);
-- --------------------------------------------------------
--
-- Table structure for table `employee`
--
CREATE TABLE `employee` (
`EmployeeID` int(10) NOT NULL,
`Employeework` varchar(100) COLLATE utf8_bin NOT NULL,
`Employeename` varchar(25) COLLATE utf8_bin NOT NULL,
`aphonenumber` int(11) NOT NULL,
`Employmentyear` year(4) NOT NULL,
`eaddress` text COLLATE utf8_bin NOT NULL,
`esalary` int(20) NOT NULL,
`branchID` int(10) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
--
-- Dumping data for table `employee`
--
INSERT INTO `employee` (`EmployeeID`, `Employeework`, `Employeename`, `aphonenumber`, `Employmentyear`, `eaddress`, `esalary`, `branchID`) VALUES
(1551, 'Official', 'ali akbari', 912512123, 1941, 'tehran andarzgoo', 1400000000, 123),
(1881, 'Official', 'nazi imanii', 91352412, 1998, 'yazd kashani', 80000000, 215);
-- --------------------------------------------------------
--
-- Table structure for table `loan`
--
CREATE TABLE `loan` (
`loanID` int(50) NOT NULL,
`amount` int(50) NOT NULL,
`branchID` int(25) NOT NULL,
`startdate` date NOT NULL,
`enddate` date NOT NULL,
`time` time NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
--
-- Dumping data for table `loan`
--
INSERT INTO `loan` (`loanID`, `amount`, `branchID`, `startdate`, `enddate`, `time`) VALUES
(357, 300000, 516, '2020-01-02', '2022-01-12', '10:00:00'),
(412, 1230000, 215, '1998-08-25', '2021-11-25', '09:00:00'),
(863, 5400000, 516, '1996-08-13', '2020-12-30', '07:14:00');
-- --------------------------------------------------------
--
-- Table structure for table `mainbank`
--
CREATE TABLE `mainbank` (
`mainbankID` int(10) NOT NULL,
`mainname` varchar(25) COLLATE utf8_bin NOT NULL,
`constructionyear` year(4) NOT NULL,
`budget` int(20) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
--
-- Dumping data for table `mainbank`
--
INSERT INTO `mainbank` (`mainbankID`, `mainname`, `constructionyear`, `budget`) VALUES
(1111, 'saderat', 1925, 20000000),
(2222, 'melli', 1912, 100000000);
-- --------------------------------------------------------
--
-- Table structure for table `managment`
--
CREATE TABLE `managment` (
`managmentID` int(10) NOT NULL,
`managename` varchar(25) COLLATE utf8_bin NOT NULL,
`mphonenumber` int(11) NOT NULL,
`manageaddress` text COLLATE utf8_bin NOT NULL,
`manageage` int(3) NOT NULL,
`manageedu` varchar(100) COLLATE utf8_bin NOT NULL,
`msalary` int(20) NOT NULL,
`employmentyear` year(4) NOT NULL,
`branchID` int(10) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
--
-- Dumping data for table `managment`
--
INSERT INTO `managment` (`managmentID`, `managename`, `mphonenumber`, `manageaddress`, `manageage`, `manageedu`, `msalary`, `employmentyear`, `branchID`) VALUES
(1030, 'akbar fallah', 2146258, 'tehran pol sadr', 59, 'Master of Banking', 2100000000, 2011, 516),
(1046, 'mohammad alavi', 352146, 'yazd blv jomhorii', 63, 'Master of Banking', 18200000, 2016, 215);
-- --------------------------------------------------------
--
-- Table structure for table `safebox`
--
CREATE TABLE `safebox` (
`safeboxID` int(10) NOT NULL,
`price` int(20) NOT NULL,
`date` date NOT NULL,
`time` time NOT NULL,
`branchID` int(10) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
--
-- Dumping data for table `safebox`
--
INSERT INTO `safebox` (`safeboxID`, `price`, `date`, `time`, `branchID`) VALUES
(162, 75000000, '2020-11-07', '20:03:41', 123),
(888, 28000000, '2020-04-22', '10:00:00', 391),
(1642, 160000, '2019-01-25', '10:25:04', 215);
-- --------------------------------------------------------
--
-- Table structure for table `servise`
--
CREATE TABLE `servise` (
`serviseID` int(10) NOT NULL,
`sname` varchar(25) COLLATE utf8_bin NOT NULL,
`Employmentyear` year(4) NOT NULL,
`sage` int(3) NOT NULL,
`sphone` int(11) NOT NULL,
`saddress` text COLLATE utf8_bin NOT NULL,
`ssalary` int(20) NOT NULL,
`branchID` int(10) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
--
-- Dumping data for table `servise`
--
INSERT INTO `servise` (`serviseID`, `sname`, `Employmentyear`, `sage`, `sphone`, `saddress`, `ssalary`, `branchID`) VALUES
(13333, 'iman', 1999, 49, 213620, 'tehran andishe', 30000, 516),
(15555, 'hesam', 2015, 38, 216201, 'tehran tajrish', 300000, 124);
--
-- Indexes for dumped tables
--
--
-- Indexes for table `account`
--
ALTER TABLE `account`
ADD PRIMARY KEY (`accountnumber`),
ADD KEY `branchID` (`branchID`);
--
-- Indexes for table `borrower`
--
ALTER TABLE `borrower`
ADD KEY `customerID` (`customerID`),
ADD KEY `loanID` (`loanID`);
--
-- Indexes for table `branch`
--
ALTER TABLE `branch`
ADD PRIMARY KEY (`branchID`);
--
-- Indexes for table `customer`
--
ALTER TABLE `customer`
ADD PRIMARY KEY (`customerID`);
--
-- Indexes for table `depositor`
--
ALTER TABLE `depositor`
ADD KEY `account number` (`accountnumber`),
ADD KEY `customerID` (`customerID`);
--
-- Indexes for table `employee`
--
ALTER TABLE `employee`
ADD PRIMARY KEY (`EmployeeID`),
ADD KEY `branchID` (`branchID`);
--
-- Indexes for table `loan`
--
ALTER TABLE `loan`
ADD PRIMARY KEY (`loanID`),
ADD KEY `branchID` (`branchID`);
--
-- Indexes for table `mainbank`
--
ALTER TABLE `mainbank`
ADD PRIMARY KEY (`mainbankID`);
--
-- Indexes for table `managment`
--
ALTER TABLE `managment`
ADD PRIMARY KEY (`managmentID`),
ADD KEY `branchID` (`branchID`);
--
-- Indexes for table `safebox`
--
ALTER TABLE `safebox`
ADD PRIMARY KEY (`safeboxID`),
ADD KEY `branchID` (`branchID`);
--
-- Indexes for table `servise`
--
ALTER TABLE `servise`
ADD PRIMARY KEY (`serviseID`),
ADD KEY `branchID` (`branchID`);
--
-- Constraints for dumped tables
--
--
-- Constraints for table `account`
--
ALTER TABLE `account`
ADD CONSTRAINT `account_ibfk_1` FOREIGN KEY (`branchID`) REFERENCES `branch` (`branchID`);
--
-- Constraints for table `borrower`
--
ALTER TABLE `borrower`
ADD CONSTRAINT `borrower_ibfk_1` FOREIGN KEY (`customerID`) REFERENCES `customer` (`customerID`),
ADD CONSTRAINT `borrower_ibfk_2` FOREIGN KEY (`loanID`) REFERENCES `loan` (`loanID`);
--
-- Constraints for table `depositor`
--
ALTER TABLE `depositor`
ADD CONSTRAINT `depositor_ibfk_1` FOREIGN KEY (`accountnumber`) REFERENCES `account` (`accountnumber`),
ADD CONSTRAINT `depositor_ibfk_2` FOREIGN KEY (`customerID`) REFERENCES `customer` (`customerID`);
--
-- Constraints for table `employee`
--
ALTER TABLE `employee`
ADD CONSTRAINT `employee_ibfk_1` FOREIGN KEY (`branchID`) REFERENCES `branch` (`branchID`);
--
-- Constraints for table `loan`
--
ALTER TABLE `loan`
ADD CONSTRAINT `loan_ibfk_1` FOREIGN KEY (`branchID`) REFERENCES `branch` (`branchID`);
--
-- Constraints for table `managment`
--
ALTER TABLE `managment`
ADD CONSTRAINT `managment_ibfk_1` FOREIGN KEY (`branchID`) REFERENCES `branch` (`branchID`);
--
-- Constraints for table `safebox`
--
ALTER TABLE `safebox`
ADD CONSTRAINT `safebox_ibfk_1` FOREIGN KEY (`branchID`) REFERENCES `branch` (`branchID`);
--
-- Constraints for table `servise`
--
ALTER TABLE `servise`
ADD CONSTRAINT `servise_ibfk_1` FOREIGN KEY (`branchID`) REFERENCES `branch` (`branchID`);
COMMIT;
/*!40101 SET CHARACTER_SET_CLIENT=#OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=#OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=#OLD_COLLATION_CONNECTION */;
First, you need to replace the backticks (`) with standard conforming double quotes ("). This will also prevent branchID from getting folded to lower case.
Second, instead of ALTER TABLE ... ADD KEY (colname) you have to use ALTER TABLE ... ADD UNIQUE (colname). You need a unique constraint as target of foreign key.
You can use this software for that purpose:
https://soft-builder.com/how-to-convert-mysql-database-to-postgresql/

REFUND MySQL query

I currently have 5 tables in my DB
branch, customers, orderline, orders, products
I want to be able to refund an order through its orderid
refund meaning:
setting the orders total price back to 0.00,
each orderlines total price to 0.00,
adding the quantitys back from the orderline to the products,
aswell as having the orders orderstatus to RFND
heres my database so far
DROP DATABASE IF EXISTS MMWally;
CREATE DATABASE IF NOT EXISTS MMWally;
USE MMWally;
--
-- Definition of table `categories`
--
DROP TABLE IF EXISTS `products`;
CREATE TABLE `products`
(
`ProductID` int NOT NULL,
`ProductName` varchar(50) NOT NULL,
`wPrice` double(13, 2) NOT NULL,
`Stock` int NOT NULL,
`BranchID` int NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `customers`;
CREATE TABLE `customers` (
`CustomerID` int NOT NULL,
`FirstName` tinytext NOT NULL,
`LastName` tinytext NOT NULL,
`Phone` VARCHAR(10) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `branch`;
CREATE TABLE `branch`
(
`BranchID` int NOT NULL,
`BranchName` tinytext DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `orders`;
CREATE TABLE `orders`
(
`OrderID` int NOT NULL,
`CustomerID` int NOT NULL,
`BranchID` int NOT NULL,
`OrderDate` date NOT NULL,
`sPrice` double(13, 2) DEFAULT NULL,
`Status` tinytext NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `orderline`;
CREATE TABLE `orderline`
(
`OrderID` int NOT NULL,
`OrderLineID` int NOT NULL,
`ProductID` int NOT NULL,
`ItemQuantity` int NOT NULL,
`TotalPrice` double(13, 2)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
ALTER TABLE orders MODIFY OrderID INT AUTO_INCREMENT PRIMARY KEY;
ALTER TABLE orderline MODIFY OrderLineID INT AUTO_INCREMENT PRIMARY KEY;
ALTER TABLE branch MODIFY BranchID INT AUTO_INCREMENT PRIMARY KEY;
ALTER TABLE customers MODIFY CustomerID INT AUTO_INCREMENT PRIMARY KEY;
ALTER TABLE products MODIFY ProductID INT AUTO_INCREMENT PRIMARY KEY;
/* FOREIGN KEYS */
ALTER TABLE orders ADD CONSTRAINT FOREIGN KEY (CustomerID) REFERENCES customers (CustomerID);
ALTER TABLE orders ADD CONSTRAINT FOREIGN KEY (BranchID) REFERENCES branch (BranchID);
ALTER TABLE products ADD CONSTRAINT FOREIGN KEY (BranchID) REFERENCES branch (BranchID);
ALTER TABLE orderline ADD CONSTRAINT FOREIGN KEY (OrderID) REFERENCES orders (OrderID);
ALTER TABLE orderline ADD CONSTRAINT FOREIGN KEY (ProductID) REFERENCES products (ProductID);
ALTER TABLE orders ADD CONSTRAINT CHECK (`Status` = 'PAID' OR `Status` = 'RFND');
/*!40000 ALTER TABLE `branch` DISABLE KEYS */;
INSERT INTO `branch` (`BranchID`, `BranchName`) VALUES
(1, 'Sports World'),
(2, 'Waterloo'),
(3, 'Cambridge Mall');
/*!40000 ALTER TABLE `branch` ENABLE KEYS */;
/*!40000 ALTER TABLE `customers` DISABLE KEYS */;
INSERT INTO `customers` (`CustomerID`, `FirstName`, `LastName`, `Phone`) VALUES
(1, 'Carlo', 'Sgro', 5195550000),
(2, 'Norbert', 'Mika', 4165551111),
(3, 'Russell', 'Foubert', 5195552222),
(4, 'Sean', 'Clarke', 5195553333),
(5, 'Sean', 'Clarke', 5192395285);
/*!40000 ALTER TABLE `customers` ENABLE KEYS */;
/*!40000 ALTER TABLE `products` DISABLE KEYS */;
INSERT INTO `products` (`ProductID`,`ProductName`, `wPrice`, `Stock`, `BranchID`) VALUES
(1, 'Disco Queen Wallpaper (roll)', 12.95, 56, 1),
(2, 'Countryside Wallpaper (roll)', 11.95, 24, 1),
(3, 'Drywall Tape (roll)', 3.95, 120, 2),
(4, 'Drywall Tape (pkg 10)', 36.95, 30, 2),
(5, 'Drywall Repair Compound (tube)', 6.95, 90, 3),
(6, 'Victorian Lace Wallpaper (roll)', 14.95, 44, 3);
/*!40000 ALTER TABLE `products` ENABLE KEYS */;
/*!40000 ALTER TABLE `orders` DISABLE KEYS */;
INSERT INTO orders(CustomerID, BranchID, OrderDate, sPrice, Status) VALUES
(1, 1, '2019-07-20', 20.93, 'PAID'),
(2, 1, '2019-07-20', 9.73, 'PAID'),
(3, 1, '2019-07-20', 5.53, 'PAID'),
(4, 3, '2019-10-06', 16.73, 'PAID'),
(4, 2, '2019-11-02', 18.13, 'PAID'),
(3, 2, '2019-11-02', 5.53, 'PAID'),
(2, 2, '2019-11-02', 18.13, 'RFND'),
(1, 2, '2019-11-02', 5.53, 'RFND');
/*!40000 ALTER TABLE `orders` ENABLE KEYS */;

foreign key and mysql with hibernate

I am using Hibernate to create table in mySql database.
I have two table "conge" and "employee" and I have a manytoone relationship. the "conge" table have a foreign key of the employee id.
I notice that after inserting exactly two row in my table "conge" I get a foreign key problem. I have used hibernate and also the phpmyadmin to insert and I have always the same problem after inserting two row.
this is my error
Cannot add or update a child row: a foreign key constraint fails (concretepage.Conge, CONSTRAINT FKk1p9i6bbic92cgaad05k4smsg FOREIGN KEY (id) REFERENCES EMPLOYE (id))
Thanks,
Update
I have exported the database this is the sql file
-- phpMyAdmin SQL Dump
-- version 4.7.0
-- https://www.phpmyadmin.net/
--
-- Host: localhost
-- Generation Time: Jul 06, 2017 at 11:50 AM
-- Server version: 10.1.24-MariaDB
-- PHP Version: 7.1.6
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET AUTOCOMMIT = 0;
START TRANSACTION;
SET time_zone = "+00:00";
/*!40101 SET #OLD_CHARACTER_SET_CLIENT=##CHARACTER_SET_CLIENT */;
/*!40101 SET #OLD_CHARACTER_SET_RESULTS=##CHARACTER_SET_RESULTS */;
/*!40101 SET #OLD_COLLATION_CONNECTION=##COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
--
-- Database: `concretepage`
--
-- --------------------------------------------------------
--
-- Table structure for table `Conge`
--
CREATE TABLE `Conge` (
`id` int(11) NOT NULL,
`date` datetime DEFAULT CURRENT_TIMESTAMP,
`dateDebut` date DEFAULT NULL,
`dateFin` date DEFAULT NULL,
`numero` int(11) NOT NULL,
`status` varchar(255) DEFAULT NULL,
`employe_id` int(11) DEFAULT NULL,
`typeConge_id` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Dumping data for table `Conge`
--
INSERT INTO `Conge` (`id`, `date`, `dateDebut`, `dateFin`, `numero`, `status`, `employe_id`, `typeConge_id`) VALUES
(1, '2017-07-06 10:46:30', NULL, NULL, 0, NULL, NULL, NULL),
(2, '2017-07-06 10:46:34', NULL, NULL, 0, NULL, NULL, NULL);
-- --------------------------------------------------------
--
-- Table structure for table `EMPLOYE`
--
CREATE TABLE `EMPLOYE` (
`id` int(11) NOT NULL,
`nom` varchar(255) DEFAULT NULL,
`post_id` int(11) DEFAULT NULL,
`userInfo_login` varchar(255) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Dumping data for table `EMPLOYE`
--
INSERT INTO `EMPLOYE` (`id`, `nom`, `post_id`, `userInfo_login`) VALUES
(1, 'foulen', NULL, 'user'),
(2, 'falten', NULL, 'user');
-- --------------------------------------------------------
--
-- Table structure for table `POST`
--
CREATE TABLE `POST` (
`id` int(11) NOT NULL,
`code` varchar(255) DEFAULT NULL,
`intituler` varchar(255) DEFAULT NULL,
`employe_id` int(11) DEFAULT NULL,
`id_superieur` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-- --------------------------------------------------------
--
-- Table structure for table `TypeConge`
--
CREATE TABLE `TypeConge` (
`id` int(11) NOT NULL,
`code` int(11) NOT NULL,
`intituler` varchar(255) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Dumping data for table `TypeConge`
--
INSERT INTO `TypeConge` (`id`, `code`, `intituler`) VALUES
(1, 5757, 'Annuel'),
(2, 2, 'Maladie');
-- --------------------------------------------------------
--
-- Table structure for table `users`
--
CREATE TABLE `users` (
`login` varchar(255) NOT NULL,
`country` varchar(255) DEFAULT NULL,
`enabled` smallint(6) DEFAULT NULL,
`password` varchar(255) DEFAULT NULL,
`role` varchar(255) DEFAULT NULL,
`employe_id` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Dumping data for table `users`
--
INSERT INTO `users` (`login`, `country`, `enabled`, `password`, `role`, `employe_id`) VALUES
('admin', NULL, 1, '$2a$10$OlJFlkoM9/nCAK1DUhcE7OvitoDHDip8GuoDt5NrSqWgV5aP7tMeC', 'ROLE_ADMIN', NULL),
('user', NULL, 1, '$2a$10$OlJFlkoM9/nCAK1DUhcE7OvitoDHDip8GuoDt5NrSqWgV5aP7tMeC', 'ROLE_USER', 1);
--
-- Indexes for dumped tables
--
--
-- Indexes for table `Conge`
--
ALTER TABLE `Conge`
ADD PRIMARY KEY (`id`),
ADD KEY `FKov9s99mmo220hv4d8ppeobut` (`employe_id`),
ADD KEY `FKocvumeoahniu5uvsjlwq5mvnp` (`typeConge_id`);
--
-- Indexes for table `EMPLOYE`
--
ALTER TABLE `EMPLOYE`
ADD PRIMARY KEY (`id`),
ADD KEY `FKpe9llqbqsni2xqg1vms2h716j` (`post_id`),
ADD KEY `FKioxxmg7s2j18x2fo7ahnclmcd` (`userInfo_login`);
--
-- Indexes for table `POST`
--
ALTER TABLE `POST`
ADD PRIMARY KEY (`id`),
ADD KEY `FKl6st4h0ujkdiun27r7tak7t7n` (`employe_id`),
ADD KEY `FK3x5ro8omrg46k9jaihue19o8q` (`id_superieur`);
--
-- Indexes for table `TypeConge`
--
ALTER TABLE `TypeConge`
ADD PRIMARY KEY (`id`);
--
-- Indexes for table `users`
--
ALTER TABLE `users`
ADD PRIMARY KEY (`login`),
ADD KEY `FK82xfucsr861ymb3t5sp2hulo3` (`employe_id`);
--
-- AUTO_INCREMENT for dumped tables
--
--
-- AUTO_INCREMENT for table `Conge`
--
ALTER TABLE `Conge`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;
--
-- AUTO_INCREMENT for table `EMPLOYE`
--
ALTER TABLE `EMPLOYE`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;
--
-- AUTO_INCREMENT for table `POST`
--
ALTER TABLE `POST`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `TypeConge`
--
ALTER TABLE `TypeConge`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;
--
-- Constraints for dumped tables
--
--
-- Constraints for table `Conge`
--
ALTER TABLE `Conge`
ADD CONSTRAINT `FKk1p9i6bbic92cgaad05k4smsg` FOREIGN KEY (`id`) REFERENCES `EMPLOYE` (`id`),
ADD CONSTRAINT `FKlm34pn7fv5rcolnjgjyjnuj9l` FOREIGN KEY (`id`) REFERENCES `TypeConge` (`id`),
ADD CONSTRAINT `FKocvumeoahniu5uvsjlwq5mvnp` FOREIGN KEY (`typeConge_id`) REFERENCES `TypeConge` (`id`),
ADD CONSTRAINT `FKov9s99mmo220hv4d8ppeobut` FOREIGN KEY (`employe_id`) REFERENCES `EMPLOYE` (`id`);
--
-- Constraints for table `EMPLOYE`
--
ALTER TABLE `EMPLOYE`
ADD CONSTRAINT `FKioxxmg7s2j18x2fo7ahnclmcd` FOREIGN KEY (`userInfo_login`) REFERENCES `users` (`login`),
ADD CONSTRAINT `FKpe9llqbqsni2xqg1vms2h716j` FOREIGN KEY (`post_id`) REFERENCES `POST` (`id`);
--
-- Constraints for table `POST`
--
ALTER TABLE `POST`
ADD CONSTRAINT `FK3x5ro8omrg46k9jaihue19o8q` FOREIGN KEY (`id_superieur`) REFERENCES `POST` (`id`),
ADD CONSTRAINT `FKl6st4h0ujkdiun27r7tak7t7n` FOREIGN KEY (`employe_id`) REFERENCES `EMPLOYE` (`id`);
--
-- Constraints for table `users`
--
ALTER TABLE `users`
ADD CONSTRAINT `FK82xfucsr861ymb3t5sp2hulo3` FOREIGN KEY (`employe_id`) REFERENCES `EMPLOYE` (`id`);
COMMIT;
/*!40101 SET CHARACTER_SET_CLIENT=#OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=#OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=#OLD_COLLATION_CONNECTION */;
Because the foreign key is on column ID not employee_id ... look : FOREIGN KEY (id) REFERENCES EMPLOYE (id)) ... and you have only two rows in Employee table

Vb.net error for query and database

Dim datetimepicker1 As String = Format(System.DateTime.Now, "yyyy-MM-dd HH:mm:ss")
Try
Dim cmd As MySqlCommand = New MySqlCommand
With cmd
.CommandText = "INSERT INTO tbl_product (`prod_name`,`prod_desc`, `cat_id`, `uom_id`,`uom_num`, `dept_id`, `brand_id`, `size_id`, `type_id`, `remarks`, `date`) values (#prod_name,#prod_desc,#cat_id,#uom_id,#uom_num,#dept_id,#brand_id,#size_id,#type_id,#remarks,#date)"
.Connection = SQLConnection
.CommandType = CommandType.Text
.Parameters.AddWithValue("#prod_name", TextBox1.Text)
.Parameters.AddWithValue("#prod_desc", TextBox2.Text)
.Parameters.AddWithValue("#cat_id", ComboBox1.Text)
.Parameters.AddWithValue("#uom_id", ComboBox2.Text)
.Parameters.AddWithValue("#uom_num", TextBox3.Text)
.Parameters.AddWithValue("#dept_id", ComboBox3.Text)
.Parameters.AddWithValue("#brand_id", ComboBox4.Text)
.Parameters.AddWithValue("#size_id", ComboBox5.Text)
.Parameters.AddWithValue("#type_id", ComboBox6.Text)
.Parameters.AddWithValue("#remarks", RichTextBox1.Text)
.Parameters.AddWithValue("#date", datetimepicker1)
.ExecuteNonQuery()
End With
MsgBox(" SIze Successfully added")
Catch ex As Exception
MsgBox(ex.Message.ToString)
End Try
cannot add or update child row foreign key constraint fails this is my error
this is my table structure*************8
--
-- Table structure for table tbl_brand
CREATE TABLE IF NOT EXISTS tbl_brand (
brand_id int(11) NOT NULL AUTO_INCREMENT,
brand_name varchar(200) NOT NULL,
brand_desc varchar(200) DEFAULT NULL,
PRIMARY KEY (brand_id)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;
--
-- Dumping data for table tbl_brand
INSERT INTO tbl_brand (brand_id, brand_name, brand_desc) VALUES
(1, 'Nike ', 'Nike Air '),
(2, 'Crocs ', 'Class A '),
(3, 'SafeGuard ', 'SafeGuard ');
--
-- Table structure for table tbl_category
CREATE TABLE IF NOT EXISTS tbl_category (
cat_id int(11) NOT NULL AUTO_INCREMENT,
cat_name varchar(200) NOT NULL,
cat_desc varchar(200) NOT NULL,
PRIMARY KEY (cat_id)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
--
-- Dumping data for table tbl_category
INSERT INTO tbl_category (cat_id, cat_name, cat_desc) VALUES
(1, 'Bath Soap ', 'Bath Soap '),
(2, 'Detergent ', 'Detergent ');
--
-- Table structure for table tbl_dept
CREATE TABLE IF NOT EXISTS tbl_dept (
dept_id int(11) NOT NULL AUTO_INCREMENT,
dept_name varchar(200) NOT NULL,
dept_desc varchar(200) NOT NULL,
PRIMARY KEY (dept_id)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
--
-- Dumping data for table tbl_dept
INSERT INTO tbl_dept (dept_id, dept_name, dept_desc) VALUES
(1, 'Shoes ', 'Shoes '),
(2, 'Soap ', 'Soap ');
--
-- Table structure for table tbl_product
CREATE TABLE IF NOT EXISTS tbl_product (
prod_id int(11) NOT NULL AUTO_INCREMENT,
prod_name varchar(200) NOT NULL,
prod_desc varchar(200) DEFAULT NULL,
cat_id int(11) NOT NULL,
dept_id int(11) NOT NULL,
brand_id int(11) NOT NULL,
type_id int(11) NOT NULL,
uom_id int(11) NOT NULL,
size_id int(11) NOT NULL,
date datetime NOT NULL,
remarks varchar(200) DEFAULT NULL,
uom_num int(60) DEFAULT NULL,
PRIMARY KEY (prod_id),
KEY tbl_product_ibfk_9 (type_id),
KEY tbl_product_ibfk_10 (uom_id),
KEY tbl_product_ibfk_11 (size_id),
KEY tbl_product_ibfk_12 (dept_id),
KEY tbl_product_ibfk_13 (cat_id),
KEY tbl_product_ibfk_14 (brand_id)
); ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
--
-- Table structure for table tbl_size
CREATE TABLE IF NOT EXISTS tbl_size (
size_id int(11) NOT NULL AUTO_INCREMENT,
size_name varchar(100) NOT NULL,
PRIMARY KEY (size_id)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;
--
-- Dumping data for table tbl_size
INSERT INTO tbl_size (size_id, size_name) VALUES
(1, 'Small(S) '),
(2, 'Medium(M) '),
(3, 'Large(L) ');
--
-- Table structure for table tbl_type
CREATE TABLE IF NOT EXISTS tbl_type (
type_id int(11) NOT NULL AUTO_INCREMENT,
type_name varchar(200) NOT NULL,
PRIMARY KEY (type_id)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=9 ;
--
-- Dumping data for table tbl_type
INSERT INTO tbl_type (type_id, type_name) VALUES
(1, 'BaskertBall Shoes '),
(2, 'Jersey Shorts '),
(3, 'running shoes '),
(8, 'Bath Soap ');
--
-- Table structure for table tbl_uom
CREATE TABLE IF NOT EXISTS tbl_uom (
uom_id int(11) NOT NULL AUTO_INCREMENT,
uom_name varchar(200) NOT NULL,
PRIMARY KEY (uom_id)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=8 ;
--
-- Dumping data for table tbl_uom
INSERT INTO tbl_uom (uom_id, uom_name) VALUES
(1, 'kilogram(kg) '),
(2, 'Gram(g) '),
(3, 'Milligram(Mg) '),
(4, 'Liter(L) '),
(5, 'Milliliters(ml) '),
(6, 'Pieces(pcs) '),
(7, 'foot(ft) ');
--
-- Table structure for table tbl_user
CREATE TABLE IF NOT EXISTS tbl_user (
user_id int(11) NOT NULL AUTO_INCREMENT,
user_code varchar(200) DEFAULT NULL,
user_password varchar(200) DEFAULT NULL,
user_name varchar(200) DEFAULT NULL,
user_level int(1) DEFAULT NULL,
datetime datetime NOT NULL,
com_code varchar(11) NOT NULL,
PRIMARY KEY (user_id),
UNIQUE KEY user_code (user_code)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=10 ;
--
-- Dumping data for table tbl_user
INSERT INTO tbl_user (user_id, user_code, user_password, user_name, user_level, datetime, com_code) VALUES
(1, '1024', '1024', 'Vincent Dematera', 3, '2012-01-10 18:18:33', '001'),
(7, '14 ', '14', 'Megan Bueno', 1, '2012-10-30 21:56:14', '002'),
(8, '13', '13', 'Anonymous', 1, '2012-10-20 21:51:00', '002'),
(9, '9', '9', 'boom', 1, '0000-00-00 00:00:00', '003');
--
-- Constraints for dumped tables
--
-- Constraints for table tbl_product
ALTER TABLE tbl_product
ADD CONSTRAINT tbl_product_ibfk_9 FOREIGN KEY (type_id) REFERENCES tbl_type (type_id),
ADD CONSTRAINT tbl_product_ibfk_10 FOREIGN KEY (uom_id) REFERENCES tbl_uom (uom_id),
ADD CONSTRAINT tbl_product_ibfk_11 FOREIGN KEY (size_id) REFERENCES tbl_size (size_id),
ADD CONSTRAINT tbl_product_ibfk_12 FOREIGN KEY (dept_id) REFERENCES tbl_dept (dept_id),
ADD CONSTRAINT tbl_product_ibfk_13 FOREIGN KEY (cat_id) REFERENCES tbl_category (cat_id),
ADD CONSTRAINT tbl_product_ibfk_14 FOREIGN KEY (brand_id) REFERENCES tbl_brand (brand_id),
ADD CONSTRAINT tbl_product_ibfk_2 FOREIGN KEY (type_id) REFERENCES tbl_type (type_id),
ADD CONSTRAINT tbl_product_ibfk_3 FOREIGN KEY (uom_id) REFERENCES tbl_uom (uom_id),
ADD CONSTRAINT tbl_product_ibfk_4 FOREIGN KEY (size_id) REFERENCES tbl_size (size_id),
ADD CONSTRAINT tbl_product_ibfk_5 FOREIGN KEY (dept_id) REFERENCES tbl_dept (dept_id),
ADD CONSTRAINT tbl_product_ibfk_6 FOREIGN KEY (cat_id) REFERENCES tbl_category (cat_id),
ADD CONSTRAINT tbl_product_ibfk_7 FOREIGN KEY (brand_id) REFERENCES tbl_brand (brand_id);
SET FOREIGN_KEY_CHECKS=1;
You have a significant number of foreign key constraints for your table product. For example, any "size_id" you enter into table products HAS to correspond to a "size_id" in table size.
What your vb.net program is telling you is that one of the id values you are entering into table product does not exist in its corresponding table. My best guess would be that one of your id values (ie. size_id, uom_id, etc) is empty, blank, or zero.
You have a number of options - you can:
turn foreign key off for the table if you wish with SET foreign_key_checks = 0;
you can remove the foreign keys altogether
you can fix your code to ensure you are adhering to the foreign keys before you even attempt to insert a value