MySQL: FOREIGN KEYS are easy (kind of)

Sdílet
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);

Komentáře • 57

  • @BroCodez
    @BroCodez  Před rokem +42

    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);

    • @ahmedhussein6359
      @ahmedhussein6359 Před 11 měsíci +1

      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)

  • @red_uwu
    @red_uwu Před rokem +51

    Weeks of classes condensed into just a few videos, thank you for making this!

  • @pdalmao
    @pdalmao Před rokem +5

    This has saved my life! Managed to get my module done with weeks to spare thanks to you :)

  • @maraki_zrg
    @maraki_zrg Před rokem +14

    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

    • @vishalplayzz2580
      @vishalplayzz2580 Před rokem +1

      true

    • @xazizayari
      @xazizayari Před měsícem +1

      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

  • @TheLastRaven
    @TheLastRaven Před rokem +4

    Litarly covered this in class yesterday tnx Bro! Your timing is as always great

  • @fgbeast5805
    @fgbeast5805 Před rokem +1

    You are the best! You make a difference on this world!

  • @mehmetoz886
    @mehmetoz886 Před 5 měsíci

    I am preparing for an interview. The explanation was simple and included good examples.

  • @bekirs4240
    @bekirs4240 Před rokem

    I rarely need these kinds of videos but i still click and give a like just cuz ur a good guy and teacher

  • @markvilla7796
    @markvilla7796 Před 9 měsíci +3

    I am not IT student. I am lucky I found your channel :)

  • @ArielLegoAndMore
    @ArielLegoAndMore Před rokem +5

    Bro your tutorials are better than my sql teacher , you probly saved my test and also made me appreciate sql way more, much thanks!

    • @xazizayari
      @xazizayari Před měsícem

      The point is that he Took A serious lesson to funny story So hilarious 😂😂

  • @mithunchandrasaha403
    @mithunchandrasaha403 Před rokem

    Very Nice Explanation,Sir.Needs More.

  • @babajideamure108
    @babajideamure108 Před 10 měsíci

    @brocode I am late to the party. This is hands down the best video I have watched to explain PK and FK. Thank you

  • @gopinath9986
    @gopinath9986 Před 28 dny

    so clean and neet and explained perfectly

  • @jubibi390
    @jubibi390 Před 8 měsíci

    This saved me. I love you Bro.

  • @sominramchiary5880
    @sominramchiary5880 Před 23 dny

    unique key is easy, auto_increment is awesome and foreign_keys are easy (kind of), HUh!! Bro made it easy.

  • @SchSlendy
    @SchSlendy Před 11 dny

    "im going to delete some of our customers" made me laugh xd. this tutorial is very cool, good work bro!

  • @bexacode1150
    @bexacode1150 Před rokem

    I really like all your videos!
    And I really want you will upload about Spring Framework. 😇

  • @celestepozzi9204
    @celestepozzi9204 Před 11 měsíci

    i like ur videos short and unique style of teaching, very easy to get, specially my main language is not english

  • @fahriekurniadi403
    @fahriekurniadi403 Před rokem

    thank you so much, help me to understand

  • @dev20114
    @dev20114 Před rokem

    Thanks a ton Man!

  • @mr_clean575
    @mr_clean575 Před rokem

    Thank you so much!!!

  • @bartsworkshop
    @bartsworkshop Před rokem +1

    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?

  • @tomh6010
    @tomh6010 Před rokem +4

    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 :)

  • @loebys
    @loebys Před rokem +1

    nice video, easy to understand. May Allah increase your knowledge and be blessed with knowledge

  • @mukhtarabebefe7596
    @mukhtarabebefe7596 Před rokem

    Thank you

  • @maaboii5431
    @maaboii5431 Před rokem

    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

  • @lorenne928
    @lorenne928 Před 9 měsíci

    very great

  • @boogieman8827
    @boogieman8827 Před rokem +1

    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?

  • @samitee8336
    @samitee8336 Před 10 měsíci

    The typing sound is so satisfying😅

  • @drawdownfx4415
    @drawdownfx4415 Před 2 měsíci

    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

  • @user-ky9sw7yc1m
    @user-ky9sw7yc1m Před 11 měsíci

    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.

  • @enriquepasa
    @enriquepasa Před rokem

    Cool video bro :) better than going through theoretical crap - straight to action

  • @luffy_viz
    @luffy_viz Před 2 měsíci

    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

  • @ToughNevyHacSoc
    @ToughNevyHacSoc Před rokem +1

    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.

  • @suryatejamukka5564
    @suryatejamukka5564 Před 2 dny

    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

  • @NerdyGeecks
    @NerdyGeecks Před měsícem

    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?

  • @korosai
    @korosai Před 5 měsíci

    why you use transaction_id as a primary key if we don’t pair it with a foreign key?

  • @xelozzen5312
    @xelozzen5312 Před rokem

    why is mine key.. doesn't exist in table i write it exact like yours tho

  • @aatifmohammed7031
    @aatifmohammed7031 Před rokem +1

    how to make foreign key on non primary columns?

    • @maxxcleiton
      @maxxcleiton Před měsícem

      FOREIGN KEY is a PRIMARY KEY from another table.
      The definition by itself answers your question.

  • @luckycreative7418
    @luckycreative7418 Před rokem +1

    I HAVE A QUESTION WHY YOU HAVE DROPPED THE TABLE?
    PLS CAN SOMEONE RESPOND!!!!

    • @freezeyourmind7011
      @freezeyourmind7011 Před 10 měsíci

      I don't understand it too, he deleted table but still can link and use it

  • @ambi297
    @ambi297 Před 2 měsíci

    in my sql the data is not taking it says cannot foreign key constraints unable to different tyoes alo what shell i do????

    • @aetyrunner
      @aetyrunner Před měsícem

      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)

  • @meitangyoon7087
    @meitangyoon7087 Před 11 měsíci

    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.

  • @evanlin7656
    @evanlin7656 Před dnem

    i like Bubble bass

  • @amroulouay6819
    @amroulouay6819 Před rokem +1

    Why the unique name should be fk 😂😂4:17

  • @vishalmane3139
    @vishalmane3139 Před rokem

    didnt work..column missing

  • @f15srinivas82
    @f15srinivas82 Před 2 měsíci

    i didnt see god . even i didnt see you bro

  • @dlamontw
    @dlamontw Před 4 měsíci

    nice ok. i think i got it

  • @AZZAMNO1
    @AZZAMNO1 Před 6 měsíci

    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);