改写的两个mysql存储过程,用于判断主键外键
来源:互联网 发布:阿里云虚拟机怎么用 编辑:程序博客网 时间:2024/05/29 18:54
改写的两个mysql存储过程,用于判断主键外键
由于所在的数据库没有系统自带的sp_pkeys,sp_fkeys,所以改写了如下:
sp_pkeys
CREATE PROCEDURE `testdb`.`sp_pkeys` (IN table_name varchar(50),IN table_owner varchar(50),IN table_qualifier varchar(50))
NOT DETERMINISTICbegin
/**procedure body**/
select column_name from information_schema.columns where table_schema='testdb' and table_name=@table_name and column_key='PRI';
end;
SET @table_name='test';
CALL sp_pkeys(@table_name,null,null);
sp_fkeys
CREATE PROCEDURE `testdb`.`sp_fkeys` (IN pktb_name varchar(50),IN pkcolume_name varchar(50),IN pktb_owner varchar(50),IN pktb_qualifier varchar(50))
NOT DETERMINISTIC
CONTAINS SQL
begin
/**procedure body**/
select COLUMN_NAME from information_schema.KEY_COLUMN_USAGE where table_name = pktb_name and COLUMN_NAME=pkcolume_name and REFERENCED_COLUMN_NAME is not null;
end;
CALL sp_fkeys ('test',
'name',
null,
null)
other:
创建外键
alter table test add constraint FK_Id foreign key(Name) REFERENCES testfk(Name);
FK_Id 外键的名称
Name: test表中外键的字段名
后面那个Name:关联表的主键名
注意:如果test中存在name的值在testfk中没有会创建失败
删除外键
ALTER TABLE `test` DROP FOREIGN KEY `FK_ID`
0 0
- 改写的两个mysql存储过程,用于判断主键外键
- 用于分页的MySQL存储过程
- Mysql 存储过程之函数-如判断两个以逗号分隔字符串的包含关系
- 两个关于外键的存储过程
- 通用存储过程之二: 根据主键的值,判断记录是否存在的存储过程
- 通用存储过程之二: 根据主键的值,判断记录是否存在的存储过程
- 用于分页的存储过程
- 用于分页的存储过程
- MySql 运用存储过程实现主键生成
- 两个遁环调度Mysql存储过程的SP代码
- mysql存储过程--返回两个时间的最大最小值
- 两个MySQL存储过程中文问题的解决方案
- SQL 简单的存储过程分页 改写方法
- mysql的主键外键
- 用于DataGrid MoveUp,MoveDown的存储过程
- 用于DataGrid MoveUp,MoveDown的存储过程
- 用于关闭数据库链接的存储过程
- 用于处理树的一个存储过程
- spark安装、源码编译
- 点滴记录ExtJS练习——ComboBox的四种扩展
- 可视化学习之百度echarts工具(2)
- Hibernate无法创建表的原因分析
- NYOJ 325 zb的生日 && NYOJ 456 邮票分你一半
- 改写的两个mysql存储过程,用于判断主键外键
- HDU1598 find the most comfortable road【并查集】
- 【指导】Install Appium on Ubuntu in command line
- iOS SDK基础知识:UITextView & UITextViewDelegate
- apache POI 操作excle表格文件,搬运百度的
- 编译linux内核错误:./scripts/gen_initramfs_list.sh: Cannot open '/usr/share/v86d
- Flume-ng与Mysql整合开发
- 一个import浪费了一下午
- 为什么linux物理内存还有很多,却开始使用swap? NUMA - 罪魁祸首