mysql使用alter语句修改表中字段的长度会影响原来的约束条件吗? 5C

alter table .. modify .. varcher(n)会不会改变表原来的索引,非空约束等?

0

5个回答

mysql跟oracle的区别,
oracle是直接忽略原数据的,也就是即使修改的长度不满足原来的要求,也是可以修改的,再插入或修改数据就会校验;
但是mysql不行,mysql会看表里已有数据是否满足你修改后的要求,不能随便改表结构的

2

如果不满足约束,mysql会不给你修改,如果让你修改,肯定是不违反的。

0

如果只是修改字段长度的话,是不会对约束有影响的,在你进行修改的时候就已经做过相关约束的校验了,既然成功了,就没问题

0

你修改成功了就不会影响,因为在你修改的时候已经经过效验了

0

不会,只有满足约束条件才能修改成功。

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
修改表字段长度的操作,对业务是否有影响?
前两天测试同学问了一个问题,表中某一个字段,需要改一下长度,对业务是否会有影响?可能隐约之中,我们觉得没影响,但又好像有影响,究竟有何影响,我们从实验来看最科学。首先建测试表,NAME字段是VARCHAR2(10),10个字节的字符串类型,表有256万数据。我们将其长度改为20,从执行时间看,只有20毫秒,我们对上面的操作,做一下10046 trace,发现确实,首先使用LOCK以EXCLUSIV
修改基本表SQL语句(表名,列名,约束条件,数据类型,新增列,新增约束条件)
修改基本表一般格式为: ALTER TABLE <表名> [ADD [COLUMN] <新列名><数据类型>[完整性约束]] [DROP [COLUMN] <列名> [CASCADE|RESTRICT] ] [DROP CONSTRAINT <完整性约束名>] [ALTER COLUMN <列名> <数据类型>...
SQL 的常用更改表约束
SQL 的常用更改表约束 一、修改字段默认值 alter table 表名 drop constraint 约束名字 ------说明:删除表的字段的原有约束 alter table 表名 add constraint 约束名字 DEFAULT 默认值 for 字段名称 -------说明:添加一个表的字段的约束并指定默认值 alter table [aEmploy
SQL 之增删改 &约束条件 &表操作&库操作
SQL 基本增删改操作 约束条件的操作 对表/库的操作 一、基本增删改(一)、向表中插入数据语法:insert into 表名(字段名,字段名) values(值,值)/*注意: 1.数据每次插入都是按行插入 2.不能为空的字段,必须插入值 3.插入的值的类型要和字段类型一致 4.字段的个数要与插入的值的个数保持一致 5.字符型或日期型的 值,要用''引起来 数值型,不用单引号 6.插入的数据要
Mysql新增字段到大数据表导致锁表
年初跳完槽,终于可以安心开始写一些博客了。进入新的公司,还是有蛮多收获的。那就先记一个昨天遇到的问题吧。      昨天晚上7点左右,对一张表进行加字段,大概200多万条记录,字段90多个的大表,结果造成mysql锁表,进而导致服务不可用。执行语句如下: ALTER TABLE `sc_stockout_order` ADD `route_remarks` VARCHAR(1024) C
关于创建和删除oracle中的唯一约束条件
今天需要对一个表中的唯一约束条件加进一个字段,但是上网查了下,没发现怎么修改,于是决定,先删掉,再添加,曲线救国,记下来,省的以后用的时候忘记了   删除:ALTER TABLE cms_a_content_jms_monitor DROP CONSTRAINT "CONTENT_UNIQUE" 添加:ALTER TABLE cms_a_content_jms_monitor ADD CON...
MySQL快速修改表结构,只针对更改varchar类型字段长度
1、创建表结构 create table t2(id int,c varchar(10)); 2、插入数据      insert into t1 values(1,'aaaaaaaaaa'); 3、创建需要更改成的临时表     create table t2(id int,c varchar(20)); 4、锁表     flush tables with read
sql修改字段长度
  ALTER TABLE controller MODIFY COLUMN phoneNo VARCHAR(200)  
db2中会导致表处于reorg pending状态的alter语句
会导致表处于reorg pending状态的alter table语句 通常在数据库上线之前,我们都会对数据库做周密的规划,无论在测试阶段还是上线之初,也难免由于需求的更改会对数据中的表做一些更改。而某些alter table语句则会导致该表处于reorg-pending状态。下面做一些总结:   alter table <tablename> alter <colname&g...
MySQL语句增加字段,修改字段名,修改类型,修改默认值
增加字段: alter table 表名 ADD 字段 类型 约束 [默认值 注释] ALTER TABLE video ADD category_id int(11) unsigned not null DEFAULT '0' COMMENT '视频分类id'; 修改字段名: alter table 表名 rename column A to B ALTER TABLE vid
扩展字段长度注意事项总结
字段长度都扩充为varchar2(30),请梳理受影响的表、字段,最后 统一提交升级脚本并维护excel注意:临时表,及含义为dealno名称为其他的字段。
mysql修改字段长度(sql命令)
alter table news  modify column title varchar(130); alter table 表名 modify column 字段名 类型; 如:news 表里的title  字段 原来长度是 100个字符,现长度要改成130个字符 alter table news modify column title varchar(130); ok
navicat 修改Mysql表字段默认值时会引发锁表处理办法
navicat 修改Mysql表字段默认值时会引发锁表 另使用sqlyog进行查询 1、查询锁表的进程 SHOW PROCESSLIST; 发现有一个ID在wait,出现的sql为 ALTER TABLE cold_rentbill_commodity MODIFY COLUMN volume DOUBLE(20,3) NULL DEFAULT 0.000 COMMEN 2、kil...
mysql修改数据库表和表中的字段的编码格式的修改
建数据库的时候,已经选择了编码格式为UTF-8 但是用PDM生成的脚本导进去的时候却奇怪的发现表和表的字段的编码格式却是GBK,一个一个却又觉得麻烦,在网上找了一下办法 一个是修改表的编码格式的 ALTER TABLE `table` DEFAULT CHARACTER SET utf8;但是虽然修改了表的编码格式,但是字段的编码格式并没有修改过来,没有什么卵用 又发现一条...
修改表中某个字段的长度
1.alter table tablename alter column columnname varchar(30) 提示错误:不允许保存更改。您所做的更改要求删除并重新创建以下表。您对无法重新创建的标进行了更改或者启用了“阻止保存要求重新创建表的更改”选项” 解决方法:在工具-〉选项-〉左侧有个 设计器-〉表设计器和数据库设计器 -> 阻止保存要求重新创建表的更改,去钩选,然后确...
MySQL5.6 更改字段属性仍旧会锁全表,注意这个坑!
如图:如果开发让修改表字段属性,建议用pt-online-schema-change。MySQL5.6的在线DDL会锁全表。注意这个坑。另外,增加、删除字段或索引不会锁全表,删除主键会锁全表。...
Mysql---约束条件、修改表的结构、键值
一,约束条件 eg: mysql> create table t6( -> name char(10) not null, -> age tinyint not null default 25, -> likes set("eat","sleep","game","zhang") default "eat,sleep"); mysq
更改mysql数据库中某字段的长度
语法: alter table 表名 modify column 字段名 类型; taxi_driver_info表里的wechat字段,原长度是20个字符,现长度要改成28个字符alter table taxi_driver_info modify column wechat varchar(28);
数据库表与表中的字段添加约束
菜类别表:表名:foodType字段:id                 --主键字段:typeName   --类别名称菜品种表:表名:food字段:id                    --主键字段:foodName     --菜名字段:foodType_id   --所属菜类别举例子:菜类别有川菜,湘菜,东北菜菜名有 :鱼香肉丝   小鸡炖蘑菇         小鸡炖蘑菇属于东北菜...
通过修改表结构添加约束条件
创建3个表,通过ALTER语句添加约束  书(Book) 的基本信息 列名 含义 类型及长度 是否可为空 bno 书号 char (8) 否 category 类别 varchar(10) 是 title 书名
Mysql中用SQL增加、删除、修改(包括字段长度/注释/字段名)总结
#新增一个字段 alter table 表名 add COLUMN 字段名 类型长度 DEFAULT NULL COMMENT '注释内容'; #例如: alter table device_log_run_operation add COLUMN parser_status VARCHAR(4) DEFAULT NULL COMMENT '解析文件状态,0:解析成功;1:解析失败...
Oracle修改字段长度
alter table purchase_plan modify(SINGLE_SOURCE_REASONS varchar2(4000));
Derby中修改字段长度
在derby中,对于一个已经存在的表格中的某个字段,需要对其长度进行修改时,使用如下语句:   在User表中,name varchar(5),将name的长度修改为50,     alter table User alter column name set data type VARCHAR(50)     该语句执行完成之后,执行如下语句查看修改之后的表...
DB2中 ALTER TABLE为什么需要 REORG操作
ALTER TABLE操作在日常开发中很常见,下面是摘自DB2官网关于ALTER TABLE操作的一段话 [i][b][color=darkred]Perhaps the most important thing to realize when running an ALTER TABLE statement containing a REORG-recommended operation ...
MySQL修改表一次添加多个列(字段)及注释、修改字段的注释、UPDATE语句
MySQL修改表一次添加多个列(字段)及注释  ALTER TABLE O2O_ORDER ADD CUST_ID BIGINT(16) COMMENT '客户标识', ADD PROD_OFFER_ID BIGINT(16) COMMENT '销售品标识', ADD SERVICE_OFFER_ID BIGINT(16) COMMENT '服务提供标识';
oracle 修改表字段的长度
alter table 表名 modify 列名 数据类型; alter table bl_yhsz modify  zcmc varchar2(120);
mysql字段默认值的修改
有时无法直接修改默认值,则: 1.先把此列删掉,然后再增加,增加的时候直接把默认值附上。 alter table tablename drop column cloumnname; alter table tablename add column columnname timestamp default value; 2.删掉表,重新建表。在建表时设置默认值。 ...
sql语句的简单用法 db2删除修改字段名,db2一次增加多个字段
感觉麻烦就没有将表建进来,需要有基础的朋友替换相应的表和字段,谢谢 //查询日期等于某天的 select * from tm_cis_req_prd_his t  where t.req_date = '20170522' select * from tm_zm_score t  where t.zm_score='666' //大于芝麻分666的 select zm_sco
MySQL查询以及修改表、表字段备注信息
在开发中,我们可能经常碰到这种问题,随着需求的变更,或者设计阶段的失误,表字段的长度太小,字段的备注信息需要完善。所以,就要更改表结构或者其它一些信息了。 话不多说,步入正题。 创建测试表: create table student( id int(11) primary key, name varchar(50) comment '姓名', age int(4)
oracle 如何在表中有数据的情况下,修改表字段的类型或者增加表字段的长度
场景:项目中某张表的字段长度不够用了,现在要增加其长度分两种情况:1.表中没有数据的情况,直接一条sql语句就能解决alter     table    表名    modify(字段名   字段类型 )例:alter table A modify(name varchar2(4000))2.表中有数据的情况下,也很简单,讲个小思路,先将原字段改个名字,然后新增一个列,这个新增的列名跟原字段列名一...
postgresql 修改表字段的长度
alter table appuser alter column nickname type character varying(30);  
Spring JPA 增加字段执行异常
用Spring jpa Entity里面增加了几个字段,但启动报错,提示column Unable to execute schema management to JDBC target: alter table qps_dictionary add column create_by varchar(10)  '创建者'; 这条语句出错。复制语句到客户端执行,mysql果然提示语法错误,后来修改...
Phoenix表数据类型修改
截止最新的Phoenix-4.14.0, alter table 并没有修改 现有表 现有字段 数据类型的功能, 因此, 想要实现修改数据类型的功能需要另辟蹊径, 或者使用简单粗暴的删表建表, 但是生产上显然这是不可取的. 修改思路 Phoenix表是映射的hbase表, hbase存储的数据都是字节数组, 因此, 限制数据类型的只能是Phoenix自己, 所以, 我们就可以...
Oracle 修改表字段长度
Oracle 修改表字段长度 alter table Tf_f_Stockorder modify (back_reason varchar(2000))
表字段的顺序也会影响性能 Conside…
出自:http://www.ixora.com.au/tips/table_column_order.htm Consider table column order The order of columns in a table can have an impact on performance. There are two factors to consider. Firstly, Oracle
mysql中alter语句中的change和modify的区别
     .首先说明alter语句的形式       alter table tablename change/modify name [name] datatype;      change:      如果想要改变列的数据类型和名称,可以使用change改变列的数据类型和名称      如果您想要更改列的类型而不是名称, CHANGE语法仍然要求旧的和新的列名称,即使旧的和新的列名称是...
Oracle:SQL语句--对表的操作——修改列的数据类型( 即 修改字段的数据类型)
– 修改列的类型 即 修改字段类型(未验证在有数据,并且互有主外键时,是否可用) –另外注意 此处 表 不能用 别名! 语法:alter table 表名 modify (字段名(即列名) 数据类型及长度);
数据库修改表名,字段名 字段类型
修改表:         (1)修改表的名称呢                 alter table 表名 rename to 新的名字;                 demo:                     alter table ta1 rename to ta0;         (2)添加一个新字段                 alter table 表名
(SQL)修改表结构[字段类型]、表字段长度,
①:更改字段类型长度 ALTER TABLE 表名 ALTER COLUMN 字段名 类型的长度–varchar(50) 例:把城市表的城市字段原来长度为20改为30 ALTER TABLE city ALTER COLUMN cname varchar(30) ALTER TABLE #temp ALTER COLUMN bmmc NVARCHAR(30) ②:更改字段类型 ALTER TAB...
db2修改字段长度的sql语句
alter table TM_CIS_DATA_ITEM_DEF alter ORI_CODE set data type varchar(400); alter table TM_CIS_DATA_ITEM_DEF alter ORI_NAME set data type varchar(400); 总结:alter table 表名 alter 字段名 set data type 字段类型