获取缺失主键表信息的MYSQL语句
SELECT a.`TABLE_SCHEMA` AS DB_NAME , a.`TABLE_NAME` , a.`TABLE_ROWS` ,a.`ENGINE` -- , a.*
FROM
information_schema.`TABLES` a
LEFT JOIN information_schema.`TABLE_CONSTRAINTS` b
ON a.`TABLE_NAME` = b.`TABLE_NAME` AND a.`TABLE_SCHEMA` = b.`TABLE_SCHEMA`
WHERE b.`TABLE_SCHEMA` IS NULL
AND a.`TABLE_TYPE` = 'BASE TABLE'
AND a.`TABLE_SCHEMA` NOT IN ('information_schema','test','mysql','performance_schema')
ORDER BY DB_NAME ,a.`TABLE_ROWS` DESC ;
相关推荐
-
MySQL里Create Index 能否创建主键 Primary Key
MySQL里Create Index 能否创建主键 Primary Key? 答案: 不能,必须用 Alter table 创建. MySQL一个索引列最大允许的有效长度,不是列的所有数据都被索引的 MyISAM 是 1000字节 InnoDB 是 767 字节 注意这里是字节.
-
深入探寻mysql自增列导致主键重复问题的原因
废话少说,进入正题. 拿到问题后,首先查看现场,发现问题表的中记录的最大值比自增列的值要大,那么很明显,当有记录进行插入时,自增列产生的值就有可能与已有的记录主键冲突,导致出错.首先想办法解决问题,通过人工调大自增列的值,保证大于表内已有的主键即可,调整后,导数据正常.问题是解决了,接下来要搞清楚问题原因,什么操作导致了这种现象的发生呢? 这里有一种可能,即业务逻辑包含更新自增主键的代码,由于mysql的update动作不会同时更新自增列值,若更新主键值比自增列大,也会导致上述现象:记录最大值比
-
MySQL 主键与索引的联系与区别分析
关系数据库依赖于主键,它是数据库物理模式的基石.主键在物理层面上只有两个用途: 惟一地标识一行. 作为一个可以被外键有效引用的对象. 索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针.下面是主键和索引的一些区别与联系. 1. 主键一定是唯一性索引,唯一性索引并不一定就是主键. 所谓主键就是能够唯一标识表中某一行的属性或属性组,一个表只能有一个主键,但可以有多个候选索引.因为主键可以唯一标识某一行记录,所以可以确保执行数据更新.删除的
-
sqlserver数据库主键的生成方式小结(sqlserver,mysql)
主键的生成方式主要有三种: 一. 数据库自动生成 二. GUID 三. 开发创建 严格讲这三种产生方式有一定的交叉点,其定位方式将在下面进行讲解. 第一种方式,主要将其定位在自增长的标识种子:可以设置起始数值,及增长步长.其优点在于使用时完全将并发任务交于数据库引擎管理,你不用担心存在多用户使用的时候会产生两个相同的ID的情况.其缺点也在于此,多数的数据库不提供直接获取标识ID的方式,对于开发人员来说产生ID的方式是透明的,开发人员几乎无法干预此项.对于数据的迁移也不是很方便. 由于存在上面的利
-
MySQL查询优化:用子查询代替非主键连接查询实例介绍
一对多的两张表,一般是一张表的外键关联到另一个表的主键.但也有不一般的情况,也就是两个表并非通过其中一个表的主键关联. 例如: 复制代码 代码如下: create table t_team ( tid int primary key, tname varchar(100) ); create table t_people ( pid int primary key, pname varchar(100), team_name varchar(100) ); team表和people表是一对多的关
-
Mysql主键相关的sql语句集锦
添加表字段 alter table table1 add transactor varchar(10) not Null; alter table table1 add id int unsigned not Null auto_increment primary key 修改某个表的字段类型及指定为空或非空 alter table 表名称 change 字段名称 字段名称 字段类型 [是否允许非空]; alter table 表名称 modify 字段名称 字段类型 [是否允许非空]; a
-
MySQL生产库Insert了2次同样的记录但是主键ID是不一样的问题的分析过程
Email里面收到朋友laopan的求助 laopan:insert into HudsonResult(JobID,EnvironmentID,FirstSessionID,RerunSessionID,State,Desp,OtherInfo) values ((select ID from Hudson where Stream='A7510_R52_Integration' and State='N' and pakName='needCompile' and User='jinhaiz
-
MySQL 创建主键,外键和复合主键的语句
1.创建主键语法 ALTER TABLE table_name ADD CONSTRAINT pk_name PRIMARY KEY(列名); 2.创建外键语法 ALTER TABLE news_info[子表名] ADD CONSTRAINT FK_news_info_news_type[约束名] FOREIGN KEY (info_id)[子表列] REFERENCES news_type[主表名] (id)[主表列] ; 3.使用组合主键 如果一列不能唯一区分一个表里的记录时,可以考虑多个
-
Oracle与Mysql主键、索引及分页的区别小结
区别: 1.主键,Oracle不可以实现自增,mysql可以实现自增. oracle新建序列,SEQ_USER_Id.nextval 2.索引: mysql索引从0开始,Oracle从1开始. 3.分页, mysql: select * from user order by desc limit n ,m. 表示,从第n条数据开始查找,一共查找m条数据. Oracle:select * from user select rownum a * from ((select * from user)a
-
mysql下创建字段并设置主键的php代码
复制代码 代码如下: mysql_select_db("hills_database_test",$dbcon); $alterpkadd="alter table hills_testcreatetable add id int(32) not null auto_increment primary key;"; mysql_query($alterpkadd,$dbcon); mysql_close($dbcon); 嘿嘿..好容易哟..一句话搞定
-
mysql把主键定义为自动增长标识符类型
1.把主键定义为自动增长标识符类型 在mysql中,如果把表的主键设为auto_increment类型,数据库就会自动为主键赋值.例如: create table customers(id int auto_increment primary key notnull, name varchar(15)); insert into customers(name) values("name1"),("name2"); 一旦把id设为auto_increment类型,my
-
深入Mysql,SqlServer,Oracle主键自动增长的设置详解
1.把主键定义为自动增长标识符类型MySql在mysql中,如果把表的主键设为auto_increment类型,数据库就会自动为主键赋值.例如: 复制代码 代码如下: create table customers(id int auto_increment primary key not null, name varchar(15));insert into customers(name) values("name1"),("name2");select id fr
随机推荐
- 跟我学XSL(二)第1/4页
- Android横竖屏幕切换小结
- IOS开发环境windows化攻略
- iOS中Block的回调使用和解析详解
- Python列表和元组的定义与使用操作示例
- PHP5.3新特性小结
- python迭代器与生成器详解
- MySQL计划任务(事件调度器) Event Scheduler介绍
- php安全之直接用$获取值而不$_GET 字符转义
- PHP VBS JS 函数 对照表
- 将bat文件注册为windows系统服务的方法
- 折纸教程美金版图文教程
- 浅析JavaScript函数的调用模式
- 判断js的Array和Object的实现方法
- javascript 常用验证函数总结
- Android线程的优先级设置方法技巧
- 经典 儿啊,别做互联网了
- python利用有道翻译实现"语言翻译器"的功能实例
- 基于vue1和vue2获取dom元素的方法
- 易语言通过按键模拟的方式实现QQ后台加人加群的代码