社区
基础和管理
帖子详情
如何用触发器防止插入重复字段
didoleo
2008-02-27 09:25:20
如题
如何防止某个字段在 一定条件 下 不重复,用触发器实现. (或者提供一种思路)
注意 不允许重复是在某种条件下.而非所有情况下不允许重复.
比如 表 test ,字段 a ,b ,当b为某种条件时 a不允许重复.
...全文
238
5
打赏
收藏
如何用触发器防止插入重复字段
如题 如何防止某个字段在 一定条件 下 不重复,用触发器实现. (或者提供一种思路) 注意 不允许重复是在某种条件下.而非所有情况下不允许重复. 比如 表 test ,字段 a ,b ,当b为某种条件时 a不允许重复.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
codearts
2008-02-27
打赏
举报
回复
用唯一索引, 根据某条件设置为null(null在索引中不存储)
SQL> create table t(a int, b int);
表已创建。
SQL> create unique index idx_t_test on t(case when b=5 then null else a end, case when b=5 then null else b end);
索引已创建。
SQL> insert into t(a, b) values(1,1);
已创建 1 行。
SQL> insert into t(a, b) values(1,1);
insert into t(a, b) values(1,1)
*
ERROR 位于第 1 行:
ORA-00001: 违反唯一约束条件 (SYS.IDX_T_TEST)
SQL> insert into t(a, b) values(1,5);
已创建 1 行。
SQL> insert into t(a, b) values(1,5);
已创建 1 行。
SQL> insert into t(a, b) values(1,5);
已创建 1 行。
SQL> select * from t;
A B
---------- ----------
1 1
1 5
1 5
1 5
didoleo
2008-02-27
打赏
举报
回复
and a = 某个固定的值 ??
没有固定的值,就是为了防止在update的时候产生重复值
dawugui
2008-02-27
打赏
举报
回复
比如 表 test ,字段 a ,b ,当b为某种条件时 a不允许重复.
-------------------------------------
if not exists (select 1 from tb where b = 为某种条件 and a = 某个固定的值)
insert into tb ....
didoleo
2008-02-27
打赏
举报
回复
补充一点. 不能用insert触发,只能用update触发,因为这个字段开始都是insert 空值进去,后来才做update的.发现有重复的.但不允许他有重复(在某种条件下),但找不到为什么会重复,因此想用update触发器来抛一错.
didoleo
2008-02-27
打赏
举报
回复
楼上的方法不错,再问一句,如果 唯一约束的条件是在另外一张表里该怎么写?
mysql
防止
插入
重复
数据sql和
触发器
有时候我们希望在
插入
一行新数据前,直接在sql中判断这个数据段的值是不是有
重复
,比如说
插入
一个新栏目,判断这个栏目名称是否存在。 表blog_notecolumn id columnname num 1 java 2 2 c 4 有以上一个简单...
防止
插入
重复
数据的
触发器
这是一个
防止
插入
重复
数据的
触发器
sql语句: create TRIGGER notsameuser ON user_pwd instead of insert as BEGIN insert user_pwdselect userId,userName,pwd,lastTime,userTypefrom inserted k where not ...
无主键创建
触发器
禁止
重复
插入
数据
无主键创建
触发器
禁止
重复
插入
数据 alter trigger ti_B_test--创建修改触器 on B for insert as begin declare @id float, @d int select @id=id from inserted --测试数据,可删除 select B.id,coun.....
mysql
触发器
重复
,如何创建
触发器
以
防止
在MYSQL 5.0.27中
插入
重复
的行?
I have a table MyText which have ID column, text column & many other columnsId - text - type ..& other fileds1 - this is my text2 - xxxxI want the text column support unicode with ...
sql通过
触发器
避免导入
重复
数据
create trigger t1 on IDCardsinfo for insert,update as if exists(select distinct * from (select * from IDCardsinfo union select * from inserted) K) rollback transaction ... insert into t
基础和管理
17,377
社区成员
95,128
社区内容
发帖
与我相关
我的任务
基础和管理
Oracle 基础和管理
复制链接
扫一扫
分享
社区描述
Oracle 基础和管理
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章