THẢO LUẬN

Haha sory bạn nhé mình quên ko ghi mình đang demo trên sql server. 2 loại hình HQTCSDL này no có cú pháp khác nhau nên thành ra bên mysql bạn phải viết khác đi nhé.

inserted = NEW

deleted = OLD

nên bạn chỉ cần chạy ntn là ok nhé

DELIMITER $$
CREATE TRIGGER trg_DatHang 
AFTER insert
ON tbl_DatHang FOR EACH ROW 
BEGIN
	UPDATE tbl_KhoHang
	SET SoLuongTon = SoLuongTon - NEW.SoLuongDat
    where MaHang = New.MaHang;
END;
$$
DELIMITER ;

Và vì sao bạn có thể lấy được NEW.SoLuongDat thì nó là tương đương với câu select sau nhé bạn 😄

SET SoLuongTon = SoLuongTon - (
	SELECT SoLuongDat
	FROM inserted
	WHERE MaHang = tbl_KhoHang.MaHang )
FROM tbl_KhoHang
JOIN inserted ON tbl_KhoHang.MaHang = inserted.MaHang

Bạn có thể xem cú pháp bên mysql trên document hoặc là vào đây cũng đc nhé 😄

https://www.techonthenet.com/mysql/triggers/after_insert.php

Nếu có câu hỏi cứ hỏi nhé. rảnh mình sẽ tìm tòi và giải đáp cho 😄

0

Có 1 cách nữa là dùng IQKeyboardManager

+1

Chuyện phỏng vấn là đàm đạo cho vui mà, hay là vô Sendo đàm đạo đi bạn

0

Regex nhiều khi là cứu cánh cho rất nhiều giải pháp 😃

0

Mình chỉ chia sẽ về các ý tuởng mà mình đã nhận đuợc trogn quá trình phỏng vấn thôi, mà đệ quy cũng hay mà 😃

0
thg 8 9, 2018 8:40 SA

lắm loại quá Abstract Interface Trait Helper

0
thg 8 9, 2018 8:26 SA

method describeContents làm gì vậy ạ ??

0

PHÍA DƯỚI LÀ 2 TABLE MÌNH TẠO; BÀI VIẾT CỦA BẠN RẤT HỮU ÍCH VÀ HAY ĐỐI VỚI MÌNH; VÌ VẬY NHỜ BẠN XEM DÙM MÌNH VỚI NHÉ. THANK

CREATE TABLE tbl_KhoHang ( id int(11) NOT NULL, MaHang varchar(20) NOT NULL, TenHang text NOT NULL, SoLuongTon int(11) NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1;

INSERT INTO tbl_KhoHang (id, MaHang, TenHang, SoLuongTon) VALUES (1, '1', 'Rau mùng t?i', 12), (2, '2', 'Rau mu?ng', 5), (3, '3', 'Lam bo gi ni', 8);

ALTER TABLE tbl_KhoHang ADD PRIMARY KEY (MaHang);


CREATE TABLE tbl_DatHang ( id int(11) NOT NULL, MaHang text NOT NULL, SoLuongDat int(11) NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1;

INSERT INTO tbl_DatHang (id, MaHang, SoLuongDat) VALUES (11, '1', 10);

-- Indexes for table tbl_DatHang

ALTER TABLE tbl_DatHang ADD PRIMARY KEY (id);

+1

bắt buộc phải dùng redis hả bạn?

+1
thg 8 9, 2018 8:17 SA

me tô

+2

Góc bắt lỗi: đoạn note a ghi nhầm multi-dimension vs multi-demension ạ 😄

0
thg 8 9, 2018 8:07 SA

làm outsource là kiểu v mà b, task dí khắp nơi 😄

0

Mình lại nghỉ ngay tới cái cách 2... Cách 2+ hay “1+” mình đều có thể làm được nhưng mình lại chả thích đệ quy cho lắm... Mình luôn tìm cách nào đó khác mà không bao giờ dùng đệ quy... :Đ

+1

Anh ơi, state và props khác nhau như nào a, chung chung qá em vẫn chưa rõ

0

Bạn thử xem CSDL bạn tạo đã chính xác chưa ?. vì minhg vừa tạo lại các bảng và columns sau đó tạo trigger bằng câu lệnh của bạn nó vẫn hoạt động. Còn lỗi 1064 trong mysql là lỗi cú pháp và nó do nhiều yếu tố cấu thành. Bạn xem ở đây nhé 😃 https://stackoverflow.com/questions/23515347/how-can-i-fix-mysql-error-1064

0
thg 8 9, 2018 5:55 SA

Cảm ơn bạn, bài viết hữu ích ❤️

+2
thg 8 9, 2018 5:10 SA

//resources \views

<form class="" method="get" action="{{ route('confirm') }}"> @csrf

//routes Route::get("/confirm", "NameController@confirm")->name("confirm");

//App\Http\Controllers

use Illuminate\Http\Request;

class NameController extends Controller {

public function confirm(Request $request)
{
    dd($name = $request->toArray());
}

}

ps/ ý bạn là zậy hả. mình cũng mới tập làm laravel

0
Avatar
đã bình luận câu trả lời trong câu hỏi
thg 8 9, 2018 4:34 SA

ReacJS là để build UI, còn backend thì dùng framework hay ngôn ngữ nào mà chả được bạn?!!

0
Avatar
đã bình luận câu trả lời trong câu hỏi
thg 8 9, 2018 4:27 SA

Cảm ơn bạn!

0
Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí