как я могу вставить в 3 разных таблицы через один запрос mysql, который я хочу написать один запрос mysql, который будет вставляться в 3 разных таблицы. У меня есть форма html, в которой есть разные таблицы, поэтому я буду вставлять данные, собранные из формы в 3 разные таблицы. возможно если так, то как ?? если не почему ???
за один стол
$var1_table1 = $_POST['table1_column1']; $var2_table1 = $_POST['table1_column2']; $var3_table1 = $_POST['table1_column3'];
для второго стола
$var1_table2 = $_POST['table2_column1']; $var2_table2 = $_POST['table2_column2']; $var3_table2 = $_POST['table2_column3'];
для третьей таблицы
$var1_table3 = $_POST['table3_column1']; $var2_table3 = $POST['table3_column2']; $var3_table3 = $_POST['table3_column3'];
это формат моей переменной
Короткий ответ
Нет, вы не можете вставлять в несколько таблиц с помощью одного оператора SQL.
Более длинный ответ
Вы можете добиться этого, вставив в таблицу1, а затем настроив триггер в таблице1, чтобы вставить данные в таблицы 2 и 3, используя таблицу BLACKHOLE для временного хранения ваших данных. Что-то вроде этого .
Лично я бы избегал этого, как чума, поскольку он скрывает, как и где данные вставляются в базу данных из данного приложения. Более подробное обсуждение этой практики можно найти здесь .
Если бы я был вами, я бы просто написал три отдельных оператора INSERT
в вашем php-приложении и не пытался создать один запрос, который вставляет в несколько таблиц. Это сэкономит вам огромную боль!
Существует не один стандартный запрос, который позволяет вставлять в три таблицы . Однако:
Насколько мне известно, функция mysql_query () PHP не поддерживает несколько запросов (вставка, выбор, обновление и т. Д.), А при вставке в разные таблицы с разными полями / столбцами вы должны запускать отдельный запрос для каждого. Я не думаю, что есть способ сделать то, что вы хотите.