问题描述
car_table
|car_id| car |
|------| ------|
|1 | Passat|
property_model
|model_id| p_value |
|--------| ----- |
|1 | year |
|2 | color |
|3 | gear |
|4 | fuel |
|5 | km |
property_value
|value_id| car_id | model_id | rs_value |
|--------| ----- | ----- | ----- |
|1 | 1 | 1 |2020 |
|2 | 1 | 2 |Black |
|3 | 1 | 3 |Automatic |
|4 | 1 | 4 |Diesel |
|5 | 1 | 5 |10.000 |
我想删除 property_value 表中的值。但我不能,你能帮我吗?
DELETE property_value
FROM property_value
INNER JOIN cars ON
property_value.car_id=cars.car_id
INNER JOIN property_model ON
property_model.model_id=property_value.model_id
WHERE value_id='1'
解决方法
因为你只是想删除值,所以没有必要使用GROUP BY
DELETE
FROM property_value
INNER JOIN cars ON
property_value.car_id=cars.car_id
INNER JOIN property_model ON
property_model.model_id=property_value.model_id
WHERE value_id='1'
顺便说一句,您的原始 sql 中有两个语法错误:
-
DELETE FROM table
不从列中删除 - 使用
GROUP BY
时,需要在WHERE
之后
拆解评论,我怀疑你在追求这样的东西......
View:
<video controls>
<source src="{{ $package->video }}" type="video/mp4">
</video>
Model:
public function getVideoAttribute() {
// 1:
$path = storage_path('app/package/video.mp4');
$stream = new \App\Helpers\VideoStream($path);
$stream->start();
// 2:
$fileContents = Storage::disk('local')->get('app/package/video.mp4');
$response = \Response::make($fileContents,200);
$response->header('Content-Type',"video/mp4");
return $response;
}
...
DROP TABLE IF EXISTS car_table;
CREATE TABLE car_table
(car_id INT AUTO_INCREMENT PRIMARY KEY,car VARCHAR(12) NOT NULL
);
INSERT INTO car_table VALUES
(1,'Passat');
DROP TABLE IF EXISTS property_model;
CREATE TABLE property_model
(model_id INT AUTO_INCREMENT PRIMARY KEY,p_value VARCHAR(12) NOT NULL
);
INSERT INTO property_model VALUES
(1,'year'),(2,'color'),(3,'gear'),(4,'fuel'),(5,'km');
DROP TABLE IF EXISTS property_value;
CREATE TABLE property_value
(value_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,car_id INT NOT NULL,model_id INT NOT NULL,rs_value VARCHAR(20) NOT NULL
);
INSERT INTO property_value VALUES
(1,1,'2020'),2,'Black'),3,'Automatic'),4,'Diesel'),5,'10000');