Для того чтобы вывести эту информацию единой в едином виде придется произвести объединение выдачи:
Предположим у нас есть две таблицы в БД MySQL :
Таблица tablesql:
Таблица tablesql_text
Эти таблицы логически связаны друг с другом по средством ключей tablesql.id и tablesql_text.id и содержат в себе единую информацию.
Для того чтобы вывести эту информацию единой в едином виде придется произвести объединение выдачи:
Во время единовременного удаления записей из различных таблиц будет выполнено нечто подобное:
SELECT tablesql.active, tablesql.id, tablesql_text.text_table
FROM tablesql INNER JOIN tablesql_text ON tablesql.id = tablesql_text.table_id
Предположим у нас есть две таблицы в БД MySQL :
Таблица tablesql:
CREATE TABLE tablesql ( id INT (11) NOT NULL AUTO_INCREMENT, active TINYINT (1) DEFAULT 0, PRIMARY KEY (id) ) ENGINE = MYISAMAUTO_INCREMENT = 1 CHARACTER SET utf8 COLLATE utf8_general_ci;
Таблица tablesql_text
CREATE TABLE tablesql_text( id INT (11) NOT NULL AUTO_INCREMENT, table_id INT (11) DEFAULT NULL, text_table VARCHAR (100) DEFAULT NULL, PRIMARY KEY (id) ) ENGINE = MYISAMAUTO_INCREMENT = 1 CHARACTER SET utf8 COLLATE utf8_general_ci;:
Эти таблицы логически связаны друг с другом по средством ключей tablesql.id и tablesql_text.id и содержат в себе единую информацию.
Информация в таблицах:
INSERT INTO tablesql (`id` ,`active`) VALUES (NULL , '1'), (NULL , '0'); INSERT INTO tablesql_text (`id` ,`table_id` ,`text_table`) VALUES (NULL , '1', 'запись номер 1'), (NULL , '2', 'запись номер 2');
Для того чтобы вывести эту информацию единой в едином виде придется произвести объединение выдачи:
SELECT tablesql.active, tablesql.id, tablesql_text.text_table FROM tablesql INNER JOIN tablesql_text ON tablesql.id = tablesql_text.table_id
Во время единовременного удаления записей из различных таблиц будет выполнено нечто подобное:
DELETE tablesql, tablesql_textFROM tablesql, tablesql_textWHERE tablesql.id = tablesql_text.table_id AND tablesql.id = 1
Теперь давайте рассмотрим механизм удаления подробнее:
Первая строка:DELETE tablesql, tablesql_text
Выбираем из каких таблиц мы будем удалять данныеВторая и третья строка:
FROM tablesql, tablesql_text
Выбираем на основе каких таблиц мы будем удалять данныеЧетвертая и пятая строка:
WHERE tablesql.id = tablesql_text.table_id AND tablesql.id = 1
tablesql_text – обозначение таблицы .table_id – обозначение поля в таблицеА ведь раньше я удалял из каждой таблице поэтапно, т.е. если у Вас связаны три таблицы, то это три запроса. Тут важно помнить, что нагрузка формируется не за счет объема данных в аналогичных запросах, а за счет количества этих запросов.
Условия связи между таблицами (tablesql.id = tablesql_text.table_id) и id конкретой записи в таблице tablesql (tablesql.id = 1)