sql - 删除带有外键的行时如何在数据库中保留一个条目
问题描述
我的数据库设置如下:
CREATE TABLE farms
(
id SERIAL8 primary key,
name VARCHAR(255) not null,
address VARCHAR(255),
phone_num VARCHAR(255)
);
CREATE TABLE products
(
id SERIAL8 primary key,
name VARCHAR(255) not null,
description VARCHAR(255),
stock FLOAT,
cost FLOAT,
price FLOAT,
farm_id INT8 references farms(id)
)
我遇到的问题是,当我删除农场时,它也会删除该农场中可用的所有产品,但我只想删除农场,而不是产品。
这是我删除农场的方法
def delete
sql = "DELETE FROM farms WHERE id = $1"
values = [@id]
SqlRunner.run(sql, values)
end
是我如何构建表的问题,还是我的 SQL 语句不正确?
解决方案
推荐阅读
- python - Python:删除类实例
- google-bigquery - 使用 BigQuery 解析字符串 - 格式为“121,131,111=1600”的实例
- arrays - 从字符串中解析变量并使用 Bash 将它们添加到数组中
- python - 在 href Beautifulsoup 之后解析文本
- python - 在python中查找特定分钟的下一次出现
- vb.net - VB.NET 应用程序性能分析 Visual Studio 2019
- python-3.x - 如何重置 .groupby 输出中的索引?
- scripting - autohotkey:按下 LButton 后取消 RButton 用户输入
- javascript - 2 slick carousel init 方法的问题
- android - 使用 Expo React Native 构建后,Android APK 无法正常工作