版本 flowable 6.7.2 mysql 5.7 现象 配置了自动创建或更新表结构 configuration.setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_TRUE...链接字符串需加上参数 nullCatalogMeansCurrent=true 如 configuration.setJdbcUrl("jdbc:mysql://localhost:3306/flowable_test
本文中说到的“建”,并非单纯的建一个库,或是建一张表,而是你建好的库和表在项目的运营中,是否能应付各种事件,下面我说说几个我在项目中遇到的问题以及处理的方法,算是一个小小的心得,给大家分享下。...比如现在有2张表,一张新闻栏目表,一张新闻表,现在两张表需要进行关联,我想大多数人的做法肯定是在新闻表里建一个新闻栏目id,然后把新闻栏目表里的主键ID(自增)写到这个字段里,通过这样进行两表关联。 ...所以我建议两表之间关联不用主键,而是单独建一个编号的字段,我们这里可以用mysql的uuid()函数做为编号,相关文献可以参考《UUID做主键好还是不好》,只所以一张表要2个主键,一个物理主键(自增id...至于性能,我本地测了下基本上没差异,网上也有人做了10W条数据的测试——《实测MYSQL UUID性能》。...所以我建议,既然定义为varchar,就代表不会涉及到计算,何不干脆定义一个通用的长度,比如varchar(50),如果真要限制长度,用程序去判断,不要让数据库来限制,不然用户输了一长串,结果mysql
创建RUNOOB数据库,并设定编码集为utf8 删除数据库 删库有风险,动手需谨慎 drop database 库名; MySQL 数据表 创建MySQL数据表需要以下信息: 表名 表字段名 定义每个表字段...MySQL数据表。...查看表结构 desc stu; 查看建表语句 show create table stu\G 修改表结构 格式: alter table 表名 action(更改选项); 添加字段: 添加字段:alter...AUTO_INCREMENT=1 更改表类型: ALTER TABLE 表名称 ENGINE="InnoDB" 关于表类型 MySQL数据库中的表类型一般常用两种:MyISAM和InnoDB 区别:...删除表 MySQL中删除数据表是非常容易操作的, 但是你再进行删除表操作时要非常小心,因为执行删除命令后所有数据都会消失。 DROP TABLE table_name ;
在MySQL数据库中,有一个内置的database叫做information_schema, 该数据库中的tables表包含了数据库中所有表的基本信息,tables表结构如下: mysql> use information_schema...; Database changed mysql> describe tables; +-----------------+---------------------+------+-----+----...-------------+------+-----+---------+-------+ 21 rows in set (0.03 sec) 下面介绍几个主要关键字段: TABLE_SCHEMA: 表所属的数据库名...TABLE_NAME: 表名 TABLE_ROWS: 表行数 DATA_LENGTH: 数据总大小 INDEX_LENGTH: 索引总大小 DATA_FREE: 磁盘碎片大小 查看表大小语句示例如下:...mysql> select table_schema, table_name, concat(truncate(sum(DATA_LENGTH)/1024/1024,2),' MB') as data_size
一、数据类型 MySQL中定义数据字段的类型对你数据库的优化是非常重要的。 MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。...date: yyyy/MM/dd time: HH/mm/ss datetime: yyyy/MM/dd/HH/mm/ss timestamp: 1970-01-01 二、建表... 外键约束:外键创建在从表(副表)中,从表中的FOREIGN KEY指向主表中的PRIMARY KEY。 ...例如: 1) 性别:sex char(1) default '男' 2) 日期:createdate timestamp default current_timestamp 2.建表... ALTER TABLE 表名 DROP INDEX 唯一约束缩影名称; //时间格式如图所示:
约束主要是防止非法数据进入表中,保证数据的正确性和一致性,统称为数据完整性 约束也可以防止一个表被删除 MySQL的约束保存在information_schema.table_constraints中...外键所在的表叫做子表,从表 外键所引用的主键所在的表叫做父表,主表 constraint emp_deptid_fk foreign_key(deptid) references dept(deptid...UPDATE reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION check约束 MySQl...Oracle中国可以使用check约束,有相应作用 mysql> create table test_ck( -> id int check(id>0) -> ); mysql...> insert into test_ck values(-100); mysql> select * from test_ck; +------+ | id | +------+ |
MySQL TIMESTAMP 类型建表异常 建表报错信息 incalid default value for 'xxx' 建表语句 CREATE TABLE `表名`( ......字段名 TIMESTAMP NULL DEFAULT '0000-00-00 00:00:00' , ... ) 报错原因 MySQL的sql_mode参数会影响对日期时间的处理方式。...解决方式 ① 调整默认值 将建表语句改为如下所示,表示默认值为当前时间戳。 CREATE TABLE `表名`( ......CREATE TABLE `表名`( ......会话级别配置只对当前会话有效,sql如下: SET sql_mode = 'ALLOW_INVALID_DATES'; 全局级别配置需要修改MySQL的配置文件,并且需要修改后重启MySQL服务,MySQL
适用于分表比较多的情况,如何批量创建,可通过存储过程实现。 存储过程批量执行只是临时使用,不建议业务使用存储过程,有些存储过程封装SQL较多,导致性能下降,不容易排查。...创建一个存储过程:红色为表结构,蓝色为表名及表数量,从0开始到255 MySQL root@[test]> delimiter // MySQL root@[test]> create procedure..., `bak9` varchar(128) DEFAULT NULL COMMENT '备用', `create_time` datetime DEFAULT NULL COMMENT '创建时间...', `update_time` datetime DEFAULT NULL COMMENT '修改时间', PRIMARY KEY (`id`), KEY `bak0` (`bak0`)...root@[test]> delimiter ; MySQL root@[test]> call sp_create_tab; MySQL root@[test]> drop procedure sp_create_tab
这里有两个例子:一个是应该使用 MySQL 内建的类型(date, time, datatime)而不是字符串来存储日期和时间,另一个是应该用无符号整型存储 IP 地址。 尽量避免NULL。...如果查询中包含可为 NULL 的列,对 MySQL 来说更难优化,因为可为 NULL 的列使得索引、索引统计和值比较都更复杂。特别是计划在列上建索引,就应该尽量避免设计成可为 NULL 的列。...枚举(enum)类型 MySQL 在内部会将每个值在列表中的位置保存为整数,并且在表的 .frm 文件中保存 “数字-字符串” 映射关系的 “查找表”。...日期和时间类型: MySQL 能存储的最小时间粒度为秒。 datetime 保存范围从 1001 年到 9999 年,精度为秒。与时区无关。使用 8 字节的存储空间。...有时候人们会将 unix 时间戳存储为整数值,但这不会带来任何收益。用整数保存时间戳的格式通常不方便处理,所以我们不推荐这么做。
登陆mysql: 找到%xampp%\mysql\bin 目录, 在此处打开命令窗口,用root用户登陆mysql 用户表建表sql: CREATE TABLE tm_users ( id int...部门表同理。...部门表建表sql: CREATE TABLE tm_dept ( id int(11) NOT NULL AUTO_INCREMENT COMMENT '主键', deptid varchar(11...', deptname varchar(255) DEFAULT NULL COMMENT '部门名称', createtime datetime DEFAULT NULL COMMENT '创建时间...', updatetime datetime DEFAULT NULL COMMENT '最后更新时间', PRIMARY KEY (id) ) ENGINE=InnoDB AUTO_INCREMENT
日期:2018/4/12 介绍:查看mysql的信息,用于比对和查询条目数 效果图: 二.使用 适用:centos6+ 语言:中文 注意:适用于5.7版本,其它版本要更改变量hang为2 下载 wget...https://raw.githubusercontent.com/goodboy23/shell/master/jobs/mysql_info.sh 执行 bash mysql_info.sh -uroot
mysql查看被锁住的表 查询是否锁表 show OPEN TABLES where In_use > 0; 查看所有进程 MySQL: show processlist; mariabd: show...full processlist; 查询到相对应的进程===然后 kill id 杀掉指定mysql连接的进程号 kill $pid 查看正在锁的事务 SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS...; 查看等待锁的事务 SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS; 查看innodb引擎的运行时信息 show engine innodb...status\G; 查看造成死锁的sql语句,分析索引情况,然后优化sql语句; 查看服务器状态 show status like '%lock%'; 查看超时时间: show variables like
关于Hive建表,参考官网: https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-ManagedandExternalTables...weblog表结构: CREATE TABLE IF NOT EXISTS weblog( ip string , time string , req_url string , status...hive建表.png 数据如下: 61.135.216.104 [25/Sep/2013:00:10:10 +0800] "GET /search-engine/thrift-framework-intro...image.png 也可以像下面这样建表 create table weblog_1 as select ip,time,req_url from weblog; 启动了MR任务 create table
本页目录 库语句 建库 修改库字符集 指定库排序规则 当前库状态的建表语句 删除库 Navicat编辑数据库时执行的SQL 表语句 建表 添加字段 修改表 修改字段 修改表字符集、排序规则 截断表 删除表...添加索引 一直都是用MySQL可视化工具,几乎没碰过建库、表等语句了。...我们无法人为控制,只能建库完毕后执行修改库字符集或者建库前修改MySQL配置 CREATE DATABASE IF NOT EXISTS `school` DEFAULT CHARACTER SET...-- 查看建表语句 SHOW CREATE DATABASE `school` 删除库 -- 删除数据库 DROP DATABASE `school表名错误就无法删除了`; Navicat编辑数据库时执行的...SQL -- 查看库的字符集,这是Navicat点击"编辑数据库"执行的SQL。
mysql> show index from tblname; mysql> show keys from tblname; · Table 表的名称。...在MySQL中,有值‘A’(升序)或NULL(无分类)。 · Cardinality 索引中唯一值的数目的估计值。通过运行ANALYZE TABLE或myisamchk -a可以更新。...基数根据被存储为整数的统计数据来计数,所以即使对于小型表,该值也没有必要是精确的。基数越大,当进行联合时,MySQL使用该索引的机 会就越大。
1、查看数据库表数量 SELECT count(TABLE_NAME) FROM information_schema.TABLES WHERE TABLE_SCHEMA=’dbname’; select
要找到实例里面某个表是否有访问,确实是比较难搞。 常用方法就是 开tcpdump或tshark持续抓包过滤怀疑的表名。 但是,如果我们用的是Percona分支的MySQL,这件事就变得简单多了。...Percona MySQL 下,我们可以打开userstat参数,通过查询系统统计表来获取用户、客户端和库表访问情况,注意:该功能只在MySQL的 Percona 发行版有效,社区版不带这个功能。...(none) > status -------------- mysql Ver 14.14 Distrib 5.6.38-83.0, for Linux (x86_64) using 6.2 Connection...characterset:utf8 UNIX socket:/tmp/mysql.sock Uptime:110 days 8 hours 34 min 25 sec Threads: 32 Questions
MySQL 查看数据库表详情 查看所有数据库容量大小 select table_schema as '数据库', sum(table_rows) as '记录数', sum(truncate(data_length...在 mysql 中,使用 delete 命令删除数据后,会发现这张表的数据文件和索引文件却奇怪的没有变小。...这是因为 delete 操作并不会真的把数据删除,mysql 实际上只是给删除的数据打了个标记,标记为删除,因此你使用 delete 删除表中的数据,表文件在磁盘上所占空间不会变小,我们这里暂且称之为假删除...注意:在 optimize table 运行过程中,MySQL 会锁定表,所以要在空闲时段执行。...查看前后效果可以使用 show table status 命令,返回结果中的 data_free 即为空洞所占据的存储空间。
MySQL快速生成时间维度表: MySQL里面生成一张时间维度表,用于ETL工具使用。...DAYNAME(@date) AS wd_name FROM T WHERE DATE_ADD(@date, INTERVAL 1 DAY) <= @d1 ORDER BY DATE ; 神秘的表T...思路是从T表选择多行数据,同时生成对应的日期字段。
表结构和数据总是在程序执行的时候无端的修改,折腾了好长时间,查了很长时间hibernate的数据库映射文件和接口程序,始终没有发现有什么错误,到最后才发现了它!...SessionFactory is closed explicitly. eg. validate | update | create | create-drop 其实这个参数的作用主要用于:自动创建|更新|验证数据库表结构...其它几个参数的意思: validate 加载hibernate时,验证创建数据库表结构 create 每次加载hibernate,重新创建数据库表结构...create-drop 加载hibernate时创建,退出是删除表结构 update 加载hibernate自动更新数据库结构 如果发现数据库表丢失或新增
领取专属 10元无门槛券
手把手带您无忧上云