MySQL: FOREIGN KEYS are easy (kind of)
Vložit
- čas přidán 27. 07. 2024
- #MySQL #course #tutorial
00:00:00 intro
00:00:50 CREATE TABLE customers
00:01:17 INSERT INTO customers
00:01:58 CREATE TABLE transactions w/ FOREIGN KEY
00:02:20 Add FOREIGN KEY to a new table
00:03:34 DROP FOREIGN KEY
00:04:07 ADD a named FOREIGN KEY to an existing table
00:05:28 re-populating our transactions table
00:05:45 AUTO_INCREMENT transactions
00:06:05 inserting new rows into transactions
00:07:21 attempting to delete a referenced primary key
00:07:53 conclusion
CREATE TABLE customers (
customer_id INT PRIMARY KEY AUTO_INCREMENT,
first_name VARCHAR(50),
last_name VARCHAR(50)
);
INSERT INTO customers (first_name, last_name)
VALUES ("Fred", "Fish"),
("Larry", "Lobster"),
("Bubble", "Bass");
SELECT * FROM customers;
-- Add a named foreign key constraint to a new table
CREATE TABLE transactions (
transaction_id INT PRIMARY KEY AUTO_INCREMENT,
amount DECIMAL(5, 2),
customer_id INT,
FOREIGN KEY (customer_id) REFERENCES customers(customer_id)
);
ALTER TABLE transactions
AUTO_INCREMENT = 1000;
-- Add a named foreign key constraint to an existing table
ALTER TABLE customers
ADD CONSTRAINT fk_customer_id
FOREIGN KEY (customer_id) REFERENCES customers(customer_id);
CREATE TABLE customers (
customer_id INT PRIMARY KEY AUTO_INCREMENT,
first_name VARCHAR(50),
last_name VARCHAR(50)
);
INSERT INTO customers (first_name, last_name)
VALUES ("Fred", "Fish"),
("Larry", "Lobster"),
("Bubble", "Bass");
SELECT * FROM customers;
-- Add a named foreign key constraint to a new table
CREATE TABLE transactions (
transaction_id INT PRIMARY KEY AUTO_INCREMENT,
amount DECIMAL(5, 2),
customer_id INT,
FOREIGN KEY (customer_id) REFERENCES customers(customer_id)
);
ALTER TABLE transactions
AUTO_INCREMENT = 1000;
-- Add a named foreign key constraint to an existing table
ALTER TABLE customers
ADD CONSTRAINT fk_customer_id
FOREIGN KEY (customer_id) REFERENCES customers(customer_id);
two typo errors:
-- Add a named foreign key constraint to a new table //TYPO ERROR 1: should be unnamed
CREATE TABLE transactions (
transaction_id INT PRIMARY KEY AUTO_INCREMENT,
amount DECIMAL(5, 2),
customer_id INT,
FOREIGN KEY (customer_id) REFERENCES customers(customer_id)
);
ALTER TABLE transactions
AUTO_INCREMENT = 1000;
-- Add a named foreign key constraint to an existing table
ALTER TABLE customers //TYPO ERROR 2: should be transactions
ADD CONSTRAINT fk_customer_id
FOREIGN KEY (customer_id) REFERENCES customers(customer_id)
Weeks of classes condensed into just a few videos, thank you for making this!
This has saved my life! Managed to get my module done with weeks to spare thanks to you :)
bro why u always have the BEST tutorials out there and as much as i search the whole yt i always end up warching YOUR vids?😂 keep up the good work man all of us IT students appreciate it. you are far better than our professors
true
True I share that point I even learned English to understand Him 😂😂 if I stay At home watching his videos I see much better than going to school wasting time and make my life miserable
Litarly covered this in class yesterday tnx Bro! Your timing is as always great
You are the best! You make a difference on this world!
I am preparing for an interview. The explanation was simple and included good examples.
I rarely need these kinds of videos but i still click and give a like just cuz ur a good guy and teacher
I am not IT student. I am lucky I found your channel :)
Bro your tutorials are better than my sql teacher , you probly saved my test and also made me appreciate sql way more, much thanks!
The point is that he Took A serious lesson to funny story So hilarious 😂😂
Very Nice Explanation,Sir.Needs More.
@brocode I am late to the party. This is hands down the best video I have watched to explain PK and FK. Thank you
so clean and neet and explained perfectly
This saved me. I love you Bro.
unique key is easy, auto_increment is awesome and foreign_keys are easy (kind of), HUh!! Bro made it easy.
"im going to delete some of our customers" made me laugh xd. this tutorial is very cool, good work bro!
I really like all your videos!
And I really want you will upload about Spring Framework. 😇
i like ur videos short and unique style of teaching, very easy to get, specially my main language is not english
thank you so much, help me to understand
Thanks a ton Man!
Thank you so much!!!
Thank you, you made this super easy to understand! One question, would the foreign key ever be a primary key as well in the transactions table?
Great video! Any plans on covering relational databasing? That's probably the next thing that stumps a lot of people imo
Also huge respect for the fundraiser, it's a great cause :)
nice video, easy to understand. May Allah increase your knowledge and be blessed with knowledge
👍
Thank you
Really frustrated till now trying to learn how primary key work.
I have no idea how to insert multiple same column data (the assigment the gave me) meanwhile primary key doesn't work if you add duplicate data, besides that problem i pretty much know well how to use mySQL, thanks to this video ofc
very great
Can we put a foreign key in a constraint. Like table_1 has column_D.O.B as primary key and table_2 has column_joining_date and joining_date should be greater than D.O.B .
How do we do that?
The typing sound is so satisfying😅
this is great thanks. To do joins between two tables do we need to specifiy primary and foreign keys? What if you have two tables with no constraints? would it still be possible to do join queries
What if I have 3 tables and the 2 nd table has a dk with 3 rd table and vice-versa and it shows error while execution.
Cool video bro :) better than going through theoretical crap - straight to action
I see last that line delete form table name and where name = ' vishwa ' ; but I can't delete then how to delete in 2 tables
Hey Bro Code, Can you please please help me with creating a draw method in a tick-tak-toe game you created your-self, I really want that, and I've been trying for weeks, but I could not figure any way out. Please if you know how to create one, replay in my comment.
Error Code: 1822. Failed to add the foreign key constraint. Missing index for constraint 'idx_product_name' in the referenced table 'products'
What is this how to solve this
hello, can someone explain on how to insert an existing foreign key into two tables like inserting user_id and two tables like transaction and reserve in phpmyadmin?
why you use transaction_id as a primary key if we don’t pair it with a foreign key?
why is mine key.. doesn't exist in table i write it exact like yours tho
how to make foreign key on non primary columns?
FOREIGN KEY is a PRIMARY KEY from another table.
The definition by itself answers your question.
I HAVE A QUESTION WHY YOU HAVE DROPPED THE TABLE?
PLS CAN SOMEONE RESPOND!!!!
I don't understand it too, he deleted table but still can link and use it
in my sql the data is not taking it says cannot foreign key constraints unable to different tyoes alo what shell i do????
Pk and FK must have same data type, like INT/SMALLINT/etc are all INT, but not like INT-DECIMAL or INT-VARCHAR
Then if your PK is SMALLINT (one of most common cases I guess) your FK should be:
column_id INT,
FOREING KEY(column_id) REFERENCES table(column_id)
Great lessons - as a beginner, it's short & sweet makes it easy to follow & understand. Seen other youtube lessons - difficult to follow for beginners. The comments pinned by you are very helful guide & notes. Great job, kudos to you and look forward for more.
i like Bubble bass
Why the unique name should be fk 😂😂4:17
didnt work..column missing
i didnt see god . even i didnt see you bro
nice ok. i think i got it
maybe this will be useful for someone in future i'll drop this here.
ALTER TABLE student
ADD COLUMN student_loginUsername VARCHAR(35),
ADD FOREIGN KEY (student_loginUsername) REFERENCES login(login_username);