我正在從數據庫中刪除,但不是連接表的工作刪除,我選擇costume_id(主鍵)和嘗試刪除這種方式,但它似乎只從一個表中刪除,而不是全部表。我曾嘗試在主鍵之前刪除外鍵,但這不起作用。我是否必須加入表格然後刪除或按照我的方式工作?選擇,然後從數據庫中
$select = $mysqli->query("SELECT * FROM costumes WHERE $q");
while ($row = $select->fetch_assoc())
$db_id = $row["costume_id"];
$costume = $mysqli->query("DELETE FROM costumes WHERE costume_id='$db_id'");
$costume_row = $costume->fetch_assoc();
$history = $mysqli->query("DELETE FROM history WHERE history_id='$db_id'");
$history_row = $history->fetch_assoc();
$location = $mysqli->query("DELETE FROM location WHERE location_id='$db_id'");
$location_row = $location->fetch_assoc();
$state = $mysqli->query("DELETE FROM state WHERE state_id='$db_id'");
$state_row = $state->fetch_assoc();
$ q是一個子流。在我的表有:
costumes (
costume_id varchar(10) primary key,
name varchar(50),
is_seperate bool,
is_onepeice bool,
description text,
color varchar(25),
material varchar(50),
genre varchar(25),
gender char(1),
size varchar(5)
);
state (
state_id varchar(10),
in_use bool,
fixed bool,
condition text,
foreign key (state_id) references costume(costume_id)
);
history (
history_id varchar(10),
previous_user varchar(20),
profession varchar(20),
previous_play varchar(50),
date date, fixed_previous bool,
comments text,
foreign key (history_id) references costume (costume_id)
);
location (
location_id varchar(10),
loc_no varchar(10) primary key,
room_no varchar(3),
foreign key (location_id) references costumes (costume_id)
);
我對刪除新的查詢是:
$delete = $mysqli->query("DELETE costumes,history,status,location FROM costumes join history on costumes.costume_id = history.history_id join status on status.status_id join location on location.location_id where costume_id='$db_id'");
查詢是給我的限制問題
您是否有現有的SELECT查詢可以向我們展示不基於我們的某個查詢。什麼能夠顯示你過去如何加入你所有的餐桌? – Andrew
我還沒有加入任何表格。當我做選擇時,我只編輯了一個表 – Meredith