问题:
我知道我应该有一个BEFORE DELETE触发器来查看用户是否可以删除一行,以及一个AFTER DELETE触发器来增加用户删除的行数。
我应该如何存储有关数据库用户从该特定表中删除了多少行的信息,以及如何允许数据库管理员向用户添加更多“删除令牌”。
我想创建一个表来存储它,但我想知道没有表是否有不同的方法来做到这一点?这可能听起来像一个奇怪的问题,但我只是想弄清楚更高级的东西是如何工作的。
我今天一直在用触发器测试一些东西,但我坚持不懈,我不知道是什么导致了我的问题。
\n\nDELIMITER $$\n\nUSE `pucko`$$\n\nCREATE TRIGGER `after_delete_Alien`\nAFTER DELETE ON `Alien` FOR EACH ROW BEGIN \n DECLARE vapenid INT;\n DECLARE alien_count INT;\n DECLARE rymdskepp_count INT;\n\n SET vapenid = (SELECT vapen FROM `Alien_Anv\xc3\xa4nder_Vapen` WHERE idAlien = OLD.idAlien);\n\n SIGNAL SQLSTATE \'45000\' SET MESSAGE_TEXT = vapenid; // Debug, this shows that vapenid is null?\n\n DELETE FROM `Alien_Anv\xc3\xa4nder_Vapen` WHERE idAlien = OLD.idAlien;\n\n SET alien_count = (SELECT count(*) FROM `Alien_Anv\xc3\xa4nder_Vapen` WHERE vapen = vapenid);\n SET rymdskepp_count = (SELECT count(*) FROM `Rymdskepp_Anv\xc3\xa4nder_Vapen` WHERE vapen = vapenid);\n\n\n if(alien_count …Run Code Online (Sandbox Code Playgroud)