2015-06-07 3 views
0

Я хочу удалить определенную строку из нескольких таблиц mysql за раз. Таблицы имеют общий столбец.Удаление строк из нескольких таблиц mysql с использованием массива

Я сохранить имена таблиц в массиве, как это:

$tables = array('table1','table2','table3','table4'); 
foreach($tables as $table) { 
$query = $con->query("DELETE FROM $table WHERE Column='somevalue'"); 
} 

if($query === FALSE) { 
echo "Error : " . $query . $con->error; 
} 

Является ли это способ для удаления строк из нескольких таблиц одновременно? Пожалуйста, извините меня, если это глупый вопрос. Я не эксперт в PHP и MySql.

+0

игнорируя SQL Injection да, это возможно. – RubahMalam

+0

Возможный дубликат [Как удалить из нескольких таблиц в MySQL?] (Http://stackoverflow.com/questions/3331992/how-to-delete-from-multiple-tables-in-mysql) – umka

ответ

1

Чтобы удалить таблицы, вы должны использовать команду drop. Просто используйте DROP с таблицами MySQL, которые вы хотите капельные через запятую:

например: DROP TABLE T1, T2, T3

+0

Мне нужно удалить конкретные строки из нескольких таблиц, а не целые таблицы. –

+0

Ах ладно. Тогда то, как вы должны работать. Тем не менее, он будет уязвим для атаки на MySQL, если какая-либо часть строки sql поступает от пользователя. Если это так, просмотрите данные, которые вы получаете от пользователя. – user2977636

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