MySQL MyISAM引擎更改列默认值优化

如果需要更改某一列的的默认值属性

如:

ALTER TABLE USER MODIFY COLUMN NAME VARCHAR(64) DEFAULT
‘DEFAULT_USER‘;

这样会导致整个表被锁,所有的行都更新完毕锁资源才会释放。

这种情况下可以使用这种命令

ALTER TABLE USER ALTER COLUMN NAME SET DEFAULT ‘DEFAULT_USER‘;

瞬间完成。因为它更改的只是.frm文件。

时间: 2024-07-31 05:37:05

MySQL MyISAM引擎更改列默认值优化的相关文章

MySQL存储引擎,索引及基本优化策略

存储引擎 与Oracle, SQL Server这些数据库不同,MySQL提供了多种存储引擎.什么是存储引擎?存储引擎其实就是一套对于数据如何存储,查询,更新,建立索引等接口的实现.不同存储引擎特性有所不同,我们根据需要进行选择,比如包含ETL操作的OLTP(联机交易处理)项目中我们通常选择InnoDB,而对于读操作较多几乎没有写操作的OLAP(联机分析处理)则选MyISAM的更多.因此并不是大家都用环境相似,同一版本的MySQL,能够使用的特性就是一致的.在MySQL终端中查看支持的存储引擎,

MYSQL中TIMESTAMP类型的默认值

MYSQL中TIMESTAMP类型可以设定默认值,就像其他类型一样. 表: —————————————————————————————————————— t1      CREATE TABLE `t1` (                                                                             `p_c` int(11) NOT NULL,                                              

MYSQL中TIMESTAMP类型的默认值理解

MYSQL中TIMESTAMP类型可以设定默认值,就像其他类型一样. 1.自动UPDATE 和INSERT 到当前的时间:表:——————————— Table   Create Table                                                                         —— ————————————————————————————-t1      CREATE TABLE `t1` (                       

网站搬家之mysql 5.7 date类型默认值不能设置‘0000-00-00’的问题

网站搬家,mysql版本由5.6升级到5.7,遇到问题: mysql 5.7之后版本datetime默认值设置'0000-00-00',出现异常:Invalid default value for 'create_time' 查阅手册 The DATE type is used for values with a date part but no time part. MySQL retrieves and displays DATE values in 'YYYY-MM-DD' format.

Miniui updateRow更改列字段值

当UPC等于upccode时,更改列Scanned+1 //先grid.findRow找到UPC等于upccode的行对象 var row = grid.findRow(function (row) { if (row.UPC == upccode) { return true; } }); var scanrow = parseInt(txtScanned) + 1; grid.updateRow(row, { Scanned: scanrow });//更改行 updateRow使用小结:

指定列默认值

在不知道或在值丢失的情况下,允许空值是非常使用的.但是,某些时候空值是容易引起争议的,一种更好的办法就是使用默认值.默认值用于在向表中插入行并且未给列指定值时.例如,可以再基于字符的列设置默认值为N/A,而不是在允许为空的情况下自动插入NULL. 下面的创建customers表中,为phone列指定默认值'未输入'.当未为该列指定插入值时,将使用默认值. Create Table customers ( firstName varchar(20) Not Null, lastNname varc

bootstraptable设置列默认值

示例:见代码一,通过formatter可以控制显示字段的值,假设渲染bootstraptable时该值未被渲染,同时页面提交时该值也未被修改,在后台该值为null,而不是formatter中设置的'',要想达到设置默认值效果,需要加上row.name = ''; 见代码二. 代码一: { title: "中文名称", field: "name", width: "80", editable: { type: 'text' }, formatter

MYSQL MYISAM引擎与INNODB引引擎的区别

MYISAM和INNODB是MYSQL数据库的两个主要引擎,MYISAM是MYSQL5.5版本之前的默认的引擎,而INNODB是MYSQL 5.5版本默认引擎. 两个引擎的区别如下: 事务处理 INNODB支持事务处理功能,事务具有以下4个属性,通常简称为事务的ACID属性. 原子性(Atomicity):事务是一个原子操作单元,其对数据的修改,要么全都执行,要么全都不执行. 一致性(Consisten):在事务开始和完成时,数据都必须保持一致状态.这意味着所有相关的数据规则都必须应用于事务的修

MySQL MyISAM引擎转换为InnoDB操作记录

进入mysql命令行模式: # mysql -uroot -ppwd 1.查看mysql提供什么存储引擎: mysql> show engines; 2.查看mysql当前提供的默认存储引擎: mysql> show variables like '%storage_engine%'; 3.显示数据库列表: mysql> show databases; 4.进入需要修改的数据库 mysql> use freeswitch; 5.列出FreeSWITCH库的所有表 mysql>