首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >MySQL在删除时设置默认字段值

MySQL在删除时设置默认字段值
EN

Stack Overflow用户
提问于 2014-10-31 16:24:18
回答 1查看 325关注 0票数 1

我的查询有问题。我有2个表与关系。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  table category
  CategoryId       name   
      1          category1
      2          category2


  table order
  orderId          CategoryId             date         Description
     1                 2               2014-10-10         okay
     2                 1               2014-10-10         okay2
     3                 1               2014-10-10         okay3

我的问题是,如果其中一个类别已经删除,如何设置类别名称。

EN

回答 1

Stack Overflow用户

发布于 2014-10-31 16:29:16

这里最重要的问题是关于业务逻辑。没有类别的订单有意义吗?如果是,则可以在删除类别时在orders表中将categoryId设置为null。为此,您可以使用触发器。

然而,更好的解决方案是将enabled列添加到您的类别中,而不是删除类别,只需将其enabled设置为false -这将使其不可用于进一步选择,但会保留以前的信息/关系。当然,这需要对选择用于表示的类别的位置进行小的更改,即向查询中添加where enabled=true

如果您在订单中将类别和设置类别ID设置为null,则您要查找的语法为

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
DELIMITER //

CREATE TRIGGER category_before_delete
BEFORE DELETE ON category FOR EACH ROW
BEGIN
   UPDATE `order` SET categoryid=null WHERE categoryid=OLD.categoryid;
END; //

DELIMITER ;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26679205

复制
相关文章
mysql怎么删除默认值_MySQL删除字段
2. 为t_test表添加字段nickname 语法:ALTER TABLE 表名 ADD 字段名字段类型
全栈程序员站长
2022/11/09
13.8K0
mysql怎么删除默认值_MySQL删除字段
MySQL字段默认值设置详解
在 MySQL 中,我们可以为表字段设置默认值,在表中插入一条新记录时,如果没有为某个字段赋值,系统就会自动为这个字段插入默认值。关于默认值,有些知识还是需要了解的,本篇文章我们一起来学习下字段默认值相关知识。
MySQL技术
2021/03/04
10.5K0
MySQL设置字段的默认值为当前系统时间
问题产生: 当我们在对某个字段进行设置时间默认值,该默认值必须是的当前记录的插入时间,那么就将当前系统时间作为该记录创建的时间。 应用场景: 1、在数据表中,要记录每条数据是什么时候创建的,应该由数据库获取当前时间自动记录创建时间。 2、在数据库中,要记录每条数据是什么时候修改的,应该而由数据数据库获取当前时间自动记录修改时间。 实际开发: 记录用户的注册时间、记录用户最后登录时间、记录用户的注销时间等。 实现步骤:(如果使用数据库远程工具则直接设置,更简单!!!) 首先将数据表中字段的数据类型设置为TIM
赵小忠
2018/01/24
9.3K0
Hive应用:设置字段默认值 原
当我们清理了一些数据之后,数据的某些字段在数据中是没有的但是需要保留这个字段,那么我们将数据插入中转表中时,就需要给这个字段赋予默认值,来让语句正确执行。
云飞扬
2019/03/13
5.2K0
SQL Server删除带“默认值”字段的需求探索
我们知道,在Oracle中,不管你带不带默认值,删除字段就是alter table ... drop column ...,为什么到了SQL Server,有其他的讲究?
bisal
2021/11/19
1.6K0
SQL Server删除带“默认值”字段的需求探索
mysql decimal设置默认值0 无效,设置后自动变为null(navicat设置decimal默认值失效问题)
alter table fa_user alter column money set default 0;
超级小可爱
2023/02/20
6K0
可重复执行SQL语句|建表、插入默认值、增加字段、删除字段、修改字段可重复执行SQL语句|oracle|mysql
在真实生产环境过程中,我们会用到表,但是随着后面功能的迭代以及更新,会对老表进行一些更新,比如加字段,修改字段类型等,那么随着越来越多的脚本更新,以及同一个项目在不同甲方中,为了保证项目的稳定性,我们需要对一些sql语句实现可重复执行的操作。
小小鱼儿小小林
2022/10/04
7.9K0
可重复执行SQL语句|建表、插入默认值、增加字段、删除字段、修改字段可重复执行SQL语句|oracle|mysql
SQl 语句(常见) 新建,删除,修改表,新增字段,修改默认值
SQl 语句(常见) 新建,删除,修改表结构 新建表: create table [表名] ( [自动编号字段] int IDENTITY (1,1) PRIMARY KEY , [字段1] nVarChar(50) default '默认值' null , [字段2] ntext null , [字段3] datetime, [字段4] money null , [字段5] int default 0, [字段6] Decimal (12,4) default 0, [字段7] image null ,
学到老
2018/03/19
1.7K0
SQl 语句(常见) 新建,删除,修改表,新增字段,修改默认值
SQl 语句(常见) 新建,删除,修改表结构 新建表: create table [表名] ( [自动编号字段] int IDENTITY (1,1) PRIMARY KEY , [字段1] nVarChar(50) default '默认值' null , [字段2] ntext null , [字段3] datetime, [字段4] money null , [字段5] int default 0, [字段6] Decimal (12,4) default 0, [字段7] image nu
学到老
2019/02/14
2.2K0
将数组中空值字段赋默认值!
在上面代码中,首先判断传入的对象是否为数组,如果是数组则对其进行map()操作,否则将其转换成键值对数组并调用 Object.fromEntries() 方法生成一个新的对象。
执行上下文
2023/07/24
2210
将数组中空值字段赋默认值!
SQL数据库-新增字段时,给默认值的方法
alter table 表名 ADD 字段 int NOT NULL DEFAULT 0
Lic工作室
2021/04/29
1.9K0
SQL数据库-新增字段时,给默认值的方法
mysql默认值
如果我们在编写SQL时需要给一个默认值,例如查询或者编辑的时候,可以使用mysql函数IFNULL
阿超
2022/08/16
4.5K0
mysql默认值
数据软删除时保持字段值唯一性的问题
对userinfo1表的name、status两个字段设置联合的唯一索引,在更新数据时把被软删除的数据行对应的id值,赋值给status字段(status等于0表示未删除,非0表示已删除)。
一写代码就开心
2022/05/31
1.2K0
Mysql修改、添加、删除字段
AFTER 的作用是将新字段添加到某个已有字段后面。 注意:只能在某个已有字段的后面添加新字段,不能在它的前面添加新字段。
说故事的五公子
2021/02/02
6.8K0
SpringBoot 填坑 | CentOS7.4 环境下,MySQL5.7 表时间字段默认值设置失效
如题,今天这篇是一个刚认识不久的小师弟的投稿。交谈中感觉技术水平与代码素养非常高,关键是才大二呀。那会我应该还在玩泥巴吧,真是后生可畏。
JavaFish
2019/10/17
1.9K0
SpringBoot 填坑 | CentOS7.4 环境下,MySQL5.7 表时间字段默认值设置失效
mysql使用default给列设置默认值的问题
add column和modify column在default的语义上处理不一样。
翎野君
2023/07/27
9470
mysql使用default给列设置默认值的问题
android在代码中怎么设置 RadioGroup的默认值
这种需求一般是   个人中心 需要的   当用户修改了个人资料之后,下次在修改的话需要从服务器中拿到数据   
wust小吴
2019/07/08
5.2K0
为字段设置初始值
在开发中为字段设置初始值这是最基本的要求,但是很多开发人员会在构造函数变多的时候忘记给成员变量设置初始值。为了避免这个问题,我们最好在声明的时候直接初始化,而不是在实现构造函数的时候去初始化。编译器会帮助开发人员在每个构造函数开头放入一段代码,这段代码会把开发人员在定义成员字段时所指定的初始值设置给这些成员字段。如果没有显示定义构造函数,那么编译器就会先创建默认构造函数,之后再向其中加入初始化代码。
喵叔
2020/09/08
1.6K0
mongodb 更新删除内嵌list字段值
查询结果如下,现在需要把 “证券代码” =》 “code” ; “发行人中文名称” =》 “COMP_NAME”
周小董
2019/03/25
3.1K0
点击加载更多

相似问题

MySQL -删除日期时间字段的默认值

379

MySQL设置默认字段值concat with record id

131

在显示数据时设置MySQL字段的值

11

MySQL:更新时设置为默认值

20

当枚举字段设置为无效值时,使MySQL默认值为NULL

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文