2015-11-06 72 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