开发者社区> 问答> 正文

删除具有外键的行时如何在数据库中保留条目

我有这样的数据库设置:

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语句不正确?

展开
收起
保持可爱mmm 2019-11-18 10:08:09 453 0
0 条回答
写回答
取消 提交回答
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
DTCC 2022大会集锦《云原生一站式数据库技术与实践》 立即下载
阿里云瑶池数据库精要2022版 立即下载
2022 DTCC-阿里云一站式数据库上云最佳实践 立即下载