2015-11-06 10 views
1

спасибо, что прочитали мой quastion! Я начинаю программист , поэтому у меня есть много проблем, каждая вещь одна из них - «как система», такая как система facebook.О подобной системе (например, в facebook like system) с использованием myisam Mysql

Я делаю программу с использованием чужого хостинга с myisam mysql. , как вы знаете, myisam mysql не имеет транзакционной системы. поэтому он не может установить ключ как внешний ключ для представления отношения или для установления эталонной целостности.

Я думаю, что «как система», что я делаю, важно, как и как установить целостность ссылки.

например, я создал контент A, и у него есть 3 «Likes». если содержание отразилось, как то, что уже должно также отразиться.

но int myisam mysql system невозможно. потому что isam mysql не может установить систему целостности ссылок на таблицы

по этой причине я сожалею о том, что я выбрал систему myisam mysql на первом шаге.

Несмотря на то, что я знаю, что это не так, DB может решить эти проблемы, я трачу много времени на этот проект.

, так что я хочу знать идею youguys, как я могу установить систему целостности ссылок в свой проект (например, систему) или любой другой метод для решения этой ситуации.

уже вы знаете, что я не умею хорошо пользоваться английским языком ... так что спасибо за ваши усилия, чтобы прочитать мой quastion.!

Надеюсь, вы, ребята, можете решить эту проблему (ситуацию).

+0

Switch hosting system. –

ответ

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 ; 

Допустим, у вас есть 2 таблицы с именем tbl_content и tbl_likes. Столбец content_id в tbl_likes является ссылкой на id столбец в tbl_content.

Пример триггера с именем delete_likes будет запущен перед удалением строки в tbl_content и удалит связанные строки с tbl_likes.

+0

wow ~ спасибо !!! я попробую это и прокомментирую результат ~! – gunheekim

 Смежные вопросы

  • Нет связанных вопросов^_^