Триене от 2 таблици по даден критерии

DirectX

Registered
PHP:
$sql = "DELETE FROM `sobstvenici`
 	LEFT JOIN `zemedelie`.`zemq` ON `sobstvenici`.`id` = `zemq`.`s_id` = '$id'";
пробвах така ама не стана :? [/img]
 
Какво точно искаш да изтриеш - собствениците, техните земи или и двете? Ако е и двете, трябат ти две отделни заявки, най-добре обединени в транзакция.
 
exec каза:
Какво точно искаш да изтриеш - собствениците, техните земи или и двете? Ако е и двете, трябат ти две отделни заявки, най-добре обединени в транзакция.
когато пробвах това нищо не се триеше само собственика

PHP:
<?php

include 'connect.db.php';
	$id = $_GET['id'];
	$godina = $_GET['godina'];
	$sql = "DELETE FROM sobstvenici WHERE `id`='$id'";
	$sql2 = "DELETE FROM zemq WHERE `s_id`='$id'";
	$result = mysql_query($sql)or die(mysql_error()."<br />Грешка: ".__LINE__);
		if($result == true){
			echo '<meta http-equiv="refresh" content="1;url=lica.php?godina='.$godina.'">';
				echo "Моля почакайте страницата да презареди...";
}
else {
			echo "възникна грешка..";
}

?>
 
Ти си написал двете заявки, но изпълняваш само едната:

PHP:
$sql = "DELETE FROM sobstvenici WHERE `id`='$id'";

[color=red]$result = mysql_query($sql)or die(mysql_error()."<br />Грешка: ".__LINE__);[/color]

$sql2 = "DELETE FROM zemq WHERE `s_id`='$id'";

$result = mysql_query([color=red]$sql2[/color])or die(mysql_error()."<br />Грешка: ".__LINE__);

Но ако ги направиш като foreign keys ще бъде още по-лесно - когато изпълниш заявката за изтриване на собственика, MySQL автоматично ще изтрие и земята на този собственик.

[sql]
create table `sobstvenici` (
id int(10) unsigned not null primary key auto_increment,
.......
) engine=InnoDB;

create table zemq (
id int(10) unsigned not null primary key auto_increment,
s_id int(10) unsigned not null,
FOREIGN KEY `s_id`(`s_id`) references `sobstvenici`(`id`) on delete cascade
) engine=InnoDB;

[/sql]
 
@
exec Направих го по-тъпия начин, но просто в момента бързам; когато имам повече време ще правя всичко като хората, докато в момента ми трябва просто да работи :D

+1
 

Back
Горе