首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysql数据库数据维护

Mysql数据库数据维护
EN

Stack Overflow用户
提问于 2017-03-24 23:24:35
回答 2查看 72关注 0票数 0

我有两张桌子。城市和调查。

代码语言:javascript
复制
City
id int(11) primary key,
Name varchar(255)

Survey
Id int(11) primary key,
CityId ref City.id,

其他栏目...

例如,伦敦在City表中,id是23。我在cityId 23的调查表格中有调查。

当我从城市表中删除伦敦时,我不想从测量表中删除行。我还需要报告城市名称的调查细节。但是,伦敦被删除了,我是城市表。

我该如何解决这个问题呢?

EN

回答 2

Stack Overflow用户

发布于 2017-03-24 23:29:42

您可以通过在Survey中创建一个外键引用来“解决”这个问题

代码语言:javascript
复制
alter table survey add constraint fk_survey_cityid
    foreign key (cityid) references city(id);

然后,当您尝试从city表中删除London时,删除将失败。另一个表引用了该id。

票数 0
EN

Stack Overflow用户

发布于 2017-03-24 23:38:18

如果不想从测量表中删除行,则为

例如,添加默认城市

示例: id为0的城市NC

在您的投票中,您将CityId列设置为默认值0;

代码语言:javascript
复制
UPDATE Survey  SET CityId=0 WHERE CityId = CityneedDelete ;

代码语言:javascript
复制
DELETE FROM City where CityId = CityneedDelete
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43003364

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档