我遇到的一个问题是“类似系统”,例如 facebook 类似系统。
我使用具有 myisam mysql 的外国托管站点制作程序。 如您所知,myisam mysql 没有事务系统。 所以它不能像外键那样设置键来呈现关系或设置引用完整性
我认为我制作的“像系统”很重要,重要的是如何呈现以及如何设置引用完整性。
例如,我制作了 A 内容,它有 3 个“赞”。如果内容被删除,喜欢已经有的也要删除。
但是int myisam mysql系统是不可能的。因为 isam mysql 无法为表设置引用完整性系统
因为这些原因,我很后悔当初选择了myisam mysql系统。
尽管我知道 inno DB 可以解决这些问题,但我还是花了很多时间在这个项目上。
那么如何为我的项目设置引用完整性系统(Like 系统)或任何其他方法来解决这种情况?
最佳答案
如果您不能将数据库引擎更改为 Innodb
并希望继续使用 MyISAM
,触发器将对您有用。
语法
CREATE TRIGGER trigger_name
BEFORE DELETE
ON table_name FOR EACH ROW
BEGIN
-- variable declarations
-- trigger code
END;
示例
DELIMITER //
CREATE TRIGGER delete_likes
BEFORE DELETE
ON tbl_content FOR EACH ROW
BEGIN
DELETE FROM tbl_likes WHERE content_id = OLD.id;
END; //
DELIMITER ;
假设您有 2 个表,分别名为 tbl_content
和 tbl_likes
。
tbl_likes
中的列 content_id
是对 tbl_content
中的 id
列的引用。
名为 delete_likes
的示例触发器将在删除 tbl_content
中的行之前触发,并将从 tbl_likes
中删除相关行。
关于android - 关于点赞系统(比如facebook点赞系统)使用myisam Mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33563977/