Navicat修改表结构自动生成的SQL说明

使用Navicat修改表结构时,查看SQL预览会自动生成SQL语句。

公司用的mysql,今天需要修改一个表中的字段,将原来的一个字段属性为double(16,2)的,需要扩展到double(24,6),该字段默认值为NULL.。

仿造如下表信息

CREATE TABLE `double` (
  `double` double(16,2) DEFAULT NULL COMMENT '钱钱'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

在图形化界面修改double字段为double(24,6)

点击SQL预览会生成如下SQL

ALTER TABLE `double`
MODIFY COLUMN `double`  double(24,6) NULL DEFAULT NULL COMMENT '钱钱' FIRST ;

然后我就直接把这个脚本提交到git上去了,大佬叼了一句,那个double(24,6)后面的写的"NULL DEFAULT NULL",你要搞个什么东西?你就改个double数值长度还写这么长?


说实话,当时我确实有点懵逼,为了方便,我都是在图形界面改好,然后copy为SQL,并没关注那个"NULL"还是"DEFAULT NULL"是个什么鬼。


现记录如下

ALTER TABLE `表名`
MODIFY COLUMN `字段名`  类型 NULL DEFAULT NULL COMMENT 'XXX' FIRST ;

类型后面的NULL和DEFAULT NULL先后顺序无所谓,NULL表示该字段可以为NULL,如果非空则为NOT NULL,"DEFAULT NULL"表示默认值为NULL,当然前提是得允许为NULL,所以合起来经常就看到Navicat自动生成的"... NULL DEFAULT NULL ..."

而COMMENT 'xxx' 表示注释内容,如果在修改表结构时删掉就把注释也删除了。所以简单来讲,为了将这个字段由double(16,2)改为double(24,6)

ALTER TABLE `double`
MODIFY COLUMN `double`  double(8,2) COMMENT '钱钱';

怕以后忘了,记录一下= =

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值