2015-11-06 74 views
1

感谢您阅读我的quastion! 我是beginnig程序员 所以我有很多问题的每一件事 其中之一是'像系统',如Facebook的系统。关于使用myisam的like系统(如facebook系统)Mysql

我使用myisam mysql的国外托管网站制作程序。因为你知道myisam mysql没有交易系统。 所以它不能像外键设置的关键像现在的关系或设置参考完整性

我觉得'像系统'我做什么是重要的是如何存在和如何设置参考完整性。例如,我做了A内容,它有3个'喜欢'。如果内容被忽略了,就像已经被忽视了一样。

但int myisam mysql系统是不可能的。因为isam mysql不能将参考完整性系统设置为表格

因为这些原因,我很后悔选择myisam mysql系统的第一步。

尽管我知道inno DB可以解决这些问题,但我花了很多时间来完成这个项目。

所以我想知道你的想法如何设置参考完整性系统到我的项目(如系统)或任何其他方法来解决这种情况。

你已经知道我不能很好地使用英语......所以感谢你努力阅读我的quastion。

我希望你们能解决这个问题(情况)。

+0

切换主机系统。 –

回答

0

如果您不能将数据库引擎更改为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 ; 

比方说你有一个名为tbl_contenttbl_likes 2个表。 列content_id in tbl_likes是参考idtbl_content

在删除tbl_content中的行之前,将触发名为delete_likes的示例触发器,并将删除tbl_likes中的相关行。

+0

哇〜谢谢!!!我会试试这个并且评论结果〜! – gunheekim