MySQL在InnoDB中设置了foreign key关联,造成无法更新或删除数据.可以通过设置FOREIGN_KEY_CHECKS变量来避免这种情况.  SET FOREIGN_KEY_CHECKS = 0; 删除完成后设置 SET FOREIGN_KEY_CHECKS = 1;  其他: 关闭唯一性校验 set unique_checks=0; set unique_checks=1; 扩展: hibernate和Oracle两方不能同时处理数据完整性.解决方法如下: (方法1)将数据完整性…
hibernate中的对象的3种状态的理解及导致报错object references an unsaved transient instance - save the transient instance before flushing异常 先看下这三篇博文: object references an unsaved transient instance - save the transient instance before flushing异常问题处理 hibernate中持久化对象的生命…
http://www.cnblogs.com/lbangel/p/3487796.html 1.JDBC中通过MetaData来获取具体的表的相关信息.可以查询数据库中的有哪些表,表有哪些字段,字段的属性等等.MetaData中通过一系列getXXX函数,将这些信息存放到ResultSet里面,然后返回给用户.关于MetaData的说明网上也有不少,这里我只是从我自身学习的角度来记录一下简单使用JDBC以及获取数据表相关信息的方法. DatabaseMetaData dbmd = con.get…
最近在写Rafy底层的一些东西,在数据库方面把MySql数据库集成到里面去,里面有一个需求,需要获取非系统数据库,也就是我们自己建立的数据库中所有表的主键和外键元数据列表. 第一种方法:是网上的方法,可以直接使用,[MySQL 查看数据库中有主外键关系的表信息] SELECT C.TABLE_SCHEMA            拥有者,           C.REFERENCED_TABLE_NAME  父表名称 ,           C.REFERENCED_COLUMN_NAME 父表字…
1.创建表的同时创建主键约束 (1)无命名 create table student ( studentid int primary key not null, studentname varchar(8), age int); (2)有命名 create table students ( studentid int , studentname varchar(8), age int, constraint yy primary key(studentid)); 2.删除表中已有的主键约束 (1…
sp_help Accounts_Users     其中Accounts_Users 表示表名 sp_columns Accounts_Users exec  sp_helpconstraint   '表名' 在数据库内创建的每个对象(约束.默认值.日志.规则.存储过程等)在表中占一行.只有在 tempdb 内,每个临时对象才在该表中占一行. sysobjects 表结构: 根据sysobjects 表格我们可以得到如下的查询: 1.获取所有表结构 select name as [表名] fr…
来源于网上整理 总结了一下oracle中查询表的信息,包括表名,字段名,字段类型,主键,外键唯一性约束信息,索引信息查询SQL如下,希望对大家有所帮助: 1.查询出所有的用户表select * from user_tables 可以查询出所有的用户表select owner,table_name from all_tables; 查询所有表,包括其他用户表 通过表名过滤需要将字母作如下处理 select * from user_tables where table_name = upper('表…
1.获取主键信息 EXEC sp_pkeys @table_name='{0}' 2.获取外键 方法二 SELECT Field=(SELECT name FROM syscolumns WHERE colid=b.fkey AND id=b.fkeyid) , FKTable=object_name(b.rkeyid), FKKeyField=(SELECT name FROM syscolumns WHERE colid=b.rkey AND id=b.rkeyid) FROM sysobj…
在数据库的学习中,对于一个表的主键和外键的认识是非常重要的. 主键:在一个表中,能唯一的表示一个事物(或者一条记录)的字段,我们称之为主键 注意: 主键的设置可以不只是用一个字段,也可以用若干个字段的组合,但主键必须是唯一的: 主键一般情况下都用整数,在这里不建议用字符转当做主键. 主键通常不允许修改,除非该表中的该条记录被删除,我们可以删除主键. 对于主键的命名问题,不建议直接用ID来命名主键,建议用表名Id  或者  表名_Id来命名主键名   不允许使用业务(表中有功能)字段来当做主键,我…
数据库的完整性约束用来防止对数据的意外破坏,来保证数据的安全性和一致性. 主键 1.创建表时候指定主键 创建表user(id, username, age),并且id字段非空自增. CREATE TABLE user( id BIGINT(20) NOT NULL AUTO_INCREMENT ,username VARCHAR(16) NOT NULL ,age TINYINT ,PRIMARY KEY(id) ); 给数据库插入3条字段. 2.修改表中字段为主键 创建表user1(id, u…