MySQL: TRIGGERS

แชร์
ฝัง
  • เผยแพร่เมื่อ 12 ก.ค. 2024
  • #MySQL #tutorial #course
    00:00:00 intro
    00:00:33 setup part 1
    00:02:01 BEFORE UPDATE
    00:05:45 BEFORE INSERT
    00:08:14 setup part 2
    00:10:45 AFTER DELETE
    00:12:37 AFTER INSERT
    00:14:34 AFTER UPDATE
    00:16:25 conclusion
    CREATE TRIGGER before_hourly_pay_update
    BEFORE UPDATE ON employees
    FOR EACH ROW
    SET NEW.salary = (NEW.hourly_pay * 2080);
    CREATE TRIGGER before_hourly_pay_insert
    BEFORE INSERT ON employees
    FOR EACH ROW
    SET NEW.salary = (NEW.hourly_pay * 2080);
    CREATE TRIGGER after_salary_delete
    AFTER DELETE ON employees
    FOR EACH ROW
    UPDATE expenses
    SET expense_total = expense_total - OLD.salary
    WHERE expense_name = "salaries";
    CREATE TRIGGER after_salary_insert
    AFTER INSERT ON employees
    FOR EACH ROW
    UPDATE expenses
    SET expense_total = expense_total + NEW.salary
    WHERE expense_name = "salaries";
    CREATE TRIGGER after_salary_update
    AFTER UPDATE ON employees
    FOR EACH ROW
    UPDATE expenses
    SET expense_total = expense_total + (NEW.salary - OLD.salary)
    WHERE expense_name = "salaries";

ความคิดเห็น • 80

  • @BroCodez
    @BroCodez  ปีที่แล้ว +44

    CREATE TRIGGER before_hourly_pay_update
    BEFORE UPDATE ON employees
    FOR EACH ROW
    SET NEW.salary = (NEW.hourly_pay * 2080);
    CREATE TRIGGER before_hourly_pay_insert
    BEFORE INSERT ON employees
    FOR EACH ROW
    SET NEW.salary = (NEW.hourly_pay * 2080);
    CREATE TRIGGER after_salary_delete
    AFTER DELETE ON employees
    FOR EACH ROW
    UPDATE expenses
    SET expense_total = expense_total - OLD.salary
    WHERE expense_name = "salaries";
    CREATE TRIGGER after_salary_insert
    AFTER INSERT ON employees
    FOR EACH ROW
    UPDATE expenses
    SET expense_total = expense_total + NEW.salary
    WHERE expense_name = "salaries";
    CREATE TRIGGER after_salary_update
    AFTER UPDATE ON employees
    FOR EACH ROW
    UPDATE expenses
    SET expense_total = expense_total + (NEW.salary - OLD.salary)
    WHERE expense_name = "salaries";

    • @AMANMUJAWAR-sq6qv
      @AMANMUJAWAR-sq6qv ปีที่แล้ว

      Bro Code Sir,
      I have dought at 1:51
      I am getting the error for not using the where clause after set command
      Can you please let me know😢

    • @oghaliss
      @oghaliss ปีที่แล้ว +1

      @@AMANMUJAWAR-sq6qv
      Hi,
      the error is due the Safe Update Mode in MySql, in order to disable it you have to execute the following
      SET SQL_SAFE_UPDATES = 0;
      then you can make the updates, and after that, re-enable it in order to avoid any unwanted changes with the following command
      SET SQL_SAFE_UPDATES = 1;

  • @Homosapienin134
    @Homosapienin134 8 หลายเดือนก่อน +74

    justice for Plankton ,he did nothing wrong

    • @ahndeux
      @ahndeux 5 หลายเดือนก่อน

      Maybe just consider he had the wrong skin color and DEI require certain "adjustments" to the employee tables.

  • @gamingweb1090
    @gamingweb1090 ปีที่แล้ว +24

    Such underated channel

  • @twodigitss
    @twodigitss 7 หลายเดือนก่อน +11

    words cannot describe how grateful i am for discovering your channel a while ago.
    I first found out the java course, then went to python and then on my database subject in university. ALL of your videos found it useful and simple as hell.
    Learned a lot of stuff and you make it look easier man, i appreciate you :>
    thank you. Really... thank you.

  • @kunalsoni7681
    @kunalsoni7681 ปีที่แล้ว +5

    Now I have accomplished the whole playlist of MYSQL very happy and learned so much from the playlist

  • @marekbartczak4363
    @marekbartczak4363 ปีที่แล้ว +2

    Good job! Please keep quality of your videos.

  • @hoangvietng7100
    @hoangvietng7100 7 หลายเดือนก่อน +1

    I watched all the videos on this list and learned a lot. I like the way you give examples. Your content is excellent. Please continue, thank you very much Bro Code.

  • @sumanshah5750
    @sumanshah5750 ปีที่แล้ว +2

    Thanks you for your informative video with your efforts.

  • @Monsta1291
    @Monsta1291 ปีที่แล้ว +7

    do stored procedures next please. Love the videos, keep up the good work!!!

  • @googlegoogle1610
    @googlegoogle1610 ปีที่แล้ว +1

    best video explains the concept of trigger

  • @randalsullivan4453
    @randalsullivan4453 8 หลายเดือนก่อน

    Great video series! Your presentation was easily understood and easy to follow Thank you!

  • @Coco-iy4lx
    @Coco-iy4lx หลายเดือนก่อน

    You were God sent man. This tutorial really helped me out A LOT! Thanks so much!

  • @artianrika8329
    @artianrika8329 6 หลายเดือนก่อน

    Thank you very much for this 5 Star course!!! Learned a lot

  • @panos21sonic
    @panos21sonic ปีที่แล้ว +5

    Hey brocode, ive recently finished all non gui vids of your in java, and taking a break before hopping in your introduction to swing. Your C# also made me fall in love with c#, and making it the first language im comfortable using. That being said, would you ever make a ruby series? I had learnt ruby back in 8th grade, and now im the 11th grade, having forgotten mostly everything about it, and i would really like an oppurtunity to brush up on my ruby knowledge, especially since nobody teaches like you do. Have a great day man

  • @chef_david1
    @chef_david1 8 หลายเดือนก่อน +1

    Very well explained, Thanks

  • @Klavkalashhh
    @Klavkalashhh 3 หลายเดือนก่อน +2

    I very rarely comment, but man, what a great video. Not unnecessarily long, but still with plenty of content to thoroughly understand the concept. Liked and subscribed, and I'm looking forward to exploring more of this channel. Thank you.

  • @user-jm8xj8nb9m
    @user-jm8xj8nb9m 2 หลายเดือนก่อน +1

    amazing tutorial

  • @erikg321
    @erikg321 2 หลายเดือนก่อน

    Amazing video. Great explanation!

  • @hoanginh1437
    @hoanginh1437 4 วันที่ผ่านมา

    so hard to learn, but your video take less time to know, thank you for this pure video, may god bless you bro

  • @al-cadaalachannel3194
    @al-cadaalachannel3194 2 หลายเดือนก่อน

    Wow! Thanks a lot ❤you have explained it in its best way which I have never seen before.

  • @miqeladzemevele
    @miqeladzemevele ปีที่แล้ว

    great job bro, you are sharp as blade

  • @GG-tr7qn
    @GG-tr7qn ปีที่แล้ว +3

    Make a tutorial for PostgreSQL too. That would be extremely helpful.

  • @hadibq
    @hadibq หลายเดือนก่อน

    Thanks of the great tutorials 👍👍

  • @RickyCalamba
    @RickyCalamba 2 หลายเดือนก่อน +1

    nice video bro....

  • @JohnDoe-oh7gf
    @JohnDoe-oh7gf 7 หลายเดือนก่อน

    Cool vids dude.

  • @kristijanlazarev
    @kristijanlazarev 8 หลายเดือนก่อน +1

    godlike study material

  • @bekturasanbekov1979
    @bekturasanbekov1979 2 หลายเดือนก่อน

    thx for lesson bro, as always !

  • @shawnieceadams1040
    @shawnieceadams1040 6 หลายเดือนก่อน

    Currently in a database class. I hated Java but it’s so much easier doing SQL your examples and explanations are great

  • @MKSVL
    @MKSVL ปีที่แล้ว

    Thanks

  • @hometheatre9978
    @hometheatre9978 6 วันที่ผ่านมา +1

    My opinion is to let a database just be a data store and program all these functions in your chosen programming language. Trying to debug and maintain these SQL functions would be a nightmare if you start creating lots of them!

  • @ERRORETJGaming
    @ERRORETJGaming 8 หลายเดือนก่อน

    Hey. Nice

  • @nahidhasan5732
    @nahidhasan5732 2 หลายเดือนก่อน

    Great Job Bro 🖤

  • @guilhermedovale7943
    @guilhermedovale7943 4 หลายเดือนก่อน +1

    The most surprising thing to learn on this video is that plankton is fr named sheldon kkkjkjk

  • @angryman9333
    @angryman9333 ปีที่แล้ว +1

    Please upload nodejs your content is priceless

  • @MKSVL
    @MKSVL ปีที่แล้ว +1

    hi man thank you for this job i just wondering in the last example if the user enter less hourly_pay it couldnt work because the new salary is less than the old salary however thank you man

  • @jritzeku
    @jritzeku 8 หลายเดือนก่อน +1

    How would you decide between applying triggers in these scenarios vs doing so programmatically in backend code as a software engineer?

  • @peharda
    @peharda ปีที่แล้ว +1

    One last example then I promise we are done.
    I mean ... it's not like you are holding me against my will bro. I kinda wanna learn this :D

  • @TimmyTurds
    @TimmyTurds 2 หลายเดือนก่อน +1

    nice

    • @RickyCalamba
      @RickyCalamba 2 หลายเดือนก่อน

      really?

    • @TimmyTurds
      @TimmyTurds 2 หลายเดือนก่อน

      yeah

  • @ardcodelover
    @ardcodelover ปีที่แล้ว

    wow

  • @sinariamith6664
    @sinariamith6664 หลายเดือนก่อน

    Just finished all the videos. Thank you for the clear explanation sir

  • @mohitdhiman5604
    @mohitdhiman5604 ปีที่แล้ว +1

    Hey man could you please tell me how did you managed to make your scripting background black?

  • @pranitrai9255
    @pranitrai9255 ปีที่แล้ว +1

    12:13 Poor Plankton xD

  • @attacker21
    @attacker21 5 หลายเดือนก่อน +1

    For those who confuse about the last one why the expense total is 356200 is because expanse total=current expanse total which is 254280 +((new salary for plankton which is 208000 or 100*2080 )-(old salary for plankton which is 106.080)) so the result is 356200. How do i know the 100*2800? Okay the answer is he already make before update trigger so it means that when he run the update trigger at the end the of the video he run two trigger which is before update trigger and after update trigger. 100 is the number he set when he run the update query. I hope you guys understand what i mean 😅

  • @nihongo_
    @nihongo_ 4 หลายเดือนก่อน

    W course

  • @Osamah001
    @Osamah001 3 หลายเดือนก่อน

    can you do a video for random numbers in columns please.

  • @user-xp1oe4fb7u
    @user-xp1oe4fb7u ปีที่แล้ว

    please do a springboot tutorial

  • @Shohjahon149
    @Shohjahon149 ปีที่แล้ว

    Hi bro, are you going to make node js videos?

  • @iamsherk2605
    @iamsherk2605 3 หลายเดือนก่อน

    Please do functions

  • @turrnut
    @turrnut ปีที่แล้ว +1

    9:48 Turbotax: Don't do your taxes.(not sponsored)
    12:12 Poor Plankton got fired and reemployed twice

  • @akshaypatil8155
    @akshaypatil8155 ปีที่แล้ว +3

    4:51 why their are keywords like before and after.....so when we are dealing with another table that is when we use AFTER keyword ????simply if we are changing hourly_pay, it should immediately reflect into annual_salary? Plz reply with the reasons for Before and After....

    • @TheAnimeSounds
      @TheAnimeSounds ปีที่แล้ว +1

      It is really self explanatory, you asking yourself WHEN trigger has to activate. Thats it.
      In calculating salary case he chose to activate this trigger BEFORE UPDATING anything on table of employess. This can make you question why, so lets put easier example.
      Lets say, that column salaries has to be NOT NULL, therefore whenever you would INSERT new records, you coulnt put NULL values in sql statements, but if you create a trigger that will activate BEFORE INSERT / UPDATE on that table, salary value will be calculated with a proper NOT NULL value, so you wont have any errors even if you want to put null value in salary column (ofcourse assuming that hourly_pay column is a proper number)
      In case of calculating expenses, he wanted to calculate expenses anytime data was added or changed in employe table ( so AFTER a data was changed to use that new data to calculate new value), so he created a trigger for expenses table that will activate AFTER INSERT / UPDATE ON employee table. There's no point in calculating expenses before since data are different after you changed them.

    • @akshaypatil8155
      @akshaypatil8155 ปีที่แล้ว

      @@TheAnimeSounds Thanks mate....I live in India. I am looking for a remote job, I am applying via linkedin to the US companies.....any suggestions for me???? I know SQL, Power BI and Python(Numpy, Pandas, Seaborn, Scikit)

    • @TheAnimeSounds
      @TheAnimeSounds ปีที่แล้ว

      @@akshaypatil8155 Im just starting to learn myself soooo :) unfortunetly no :P

  • @stickercode
    @stickercode 10 หลายเดือนก่อน +1

    I got a general knowledge on triggers but could not quite follow what's the difference between after and before thing. Like after insert and before insert. I did not comprehend the logic lies behind it. Can you explain like telling it to a layman.

    • @walk4754
      @walk4754 9 หลายเดือนก่อน +2

      I got confused by that too. I did a bit of googling and I think I get the gist of it. When it's in the same table, we use "before". If it involves data from another table, it's "after". But I may be wrong and this could just be the blind leading the blind lol.

    • @stickercode
      @stickercode 9 หลายเดือนก่อน

      @@walk4754 :) thanks anyway

  • @mansifurrahmanrafsan2777
    @mansifurrahmanrafsan2777 ปีที่แล้ว +1

    Is this sql series completed?

  • @aragogpotter919
    @aragogpotter919 6 หลายเดือนก่อน

    What is difference between before and after

  • @fayrusrabiya2213
    @fayrusrabiya2213 ปีที่แล้ว

    Can you please show how to create trigger for username by taking first 4 char from first name and last name please

    • @TheAnimeSounds
      @TheAnimeSounds ปีที่แล้ว

      with this video, you know already how to create triggers, what you dont know i assume is how to take first 4 chars from a text , just check build in methods, for example left() or right() and create your trigger accordingly to your needs by following this video.

  • @_indrid_cold_
    @_indrid_cold_ 2 หลายเดือนก่อน

    I don’t get it. How can the salary column recalculate based on the hourly pay BEFORE the hourly pay has been updated? Surely the hourly pay update needs to happen prior to the salary being recalculated? Can anyone help me to wrap my head around that?

    • @pramodkorgaonkar5629
      @pramodkorgaonkar5629 2 หลายเดือนก่อน

      Here is my understanding
      Whenever you update hourly pay, before the update happens the trigger will have both old and the new values for all the columns in your table.
      So using the 'NEW' keyword for the salary you will get the new salary that is going to be updated, using that you are calculating the hourly pay and updating them simultaneously.
      Hope this helps 😀🙌🏼

  • @genshinsbizzareadventures
    @genshinsbizzareadventures 2 วันที่ผ่านมา

    Bullying plankton😂😂😂

  • @eagle960
    @eagle960 11 หลายเดือนก่อน

    poor Plankton 🤣

  • @nick.h7566
    @nick.h7566 3 หลายเดือนก่อน

    Most of my issues come from triggers...

  • @rust_y
    @rust_y ปีที่แล้ว

    PLANKTON NOOOOOOOOOO

  • @lazarus6745
    @lazarus6745 ปีที่แล้ว +2

    Is this the last video of this series ?

    • @zorrofit5880
      @zorrofit5880 ปีที่แล้ว +1

      I also would like to know that.

    • @enriquepasa
      @enriquepasa ปีที่แล้ว

      @@zorrofit5880Me too. But he wrote he's not sure himself for how long series will go

  • @brylejanm.nacalaban9506
    @brylejanm.nacalaban9506 3 หลายเดือนก่อน

    i feel sorry for plankton

  • @riperboyxl3216
    @riperboyxl3216 ปีที่แล้ว +1

    Hi bro, will you make a single video of all the SQL videos?

    • @BroCodez
      @BroCodez  ปีที่แล้ว +2

      Most likely.
      I'm not sure how long I'm going to continue this series tho.

    • @lazarus6745
      @lazarus6745 ปีที่แล้ว

      @@BroCodez Why Bro?

  • @trubnikov
    @trubnikov 8 หลายเดือนก่อน +1

    Absolutely Brilliant Fucking Video! Thanks Bro!!! ❤

  • @nasarhusain9453
    @nasarhusain9453 หลายเดือนก่อน

    I am facing unknown column hourly-pay in field list error after create update trigger. Please tell me solution