求助!使用mysql触发器(其他也可)实现一条插入语句在同表中添加两条数据。

一表friend中有uin1,uin2两个字段,使用一条insert语句,如:insertintofriendvalues(200,100);通过触发器(其他数据库方法也... 一表friend中有uin1,uin2两个字段,
使用一条insert语句,如:insert into friend values(200, 100);
通过触发器(其他数据库方法也可)使friend表中有两条数据:
| uin1| uin2
1 | 200 | 100
2 | 100 | 200
展开
 我来答
匿名用户
2013-04-09
展开全部
好像 MySQL 的触发器, 插入/删除自己这个表 会 导致 MySQL 发生异常。

方案1:
因此, 你这个情况, 可以尝试, 创建一个存储过程。

这个存储过程, 接受2个参数, 例如 uid1, uid2

然后存储过程内部, 插入2行数据。

外部程序 例如 PHP 什么的, 通过调用这个存储过程, 调用1次, 插入2行数据。

方案2:
另外折腾一个表, 叫 friend_all
向 friend 表插入1行数据的时候, 自动向 friend_all 表, 插入 2行数据。
这样最终, 你查询数据的时候, 简单查询 friend_all 表 即可。
追问
谢谢你的解答。
可惜我这代码对数据库的操作都封装了,只能完全的通过数据库来弄。你给的两个方案都需要对程序代码修改,我这改不了啊。。。
TableDI
2024-07-18 广告
`VLOOKUP` 匹配出错误的数据通常是由于以下几个原因:1. **查找值错误**:输入的查找值与数据源中的值不匹配,可能是因为拼写错误、大小写不一致或存在不可见的字符。2. **查找区域设置错误**:查找区域的首列必须包含要查找的值,且... 点击进入详情页
本回答由TableDI提供
dimm456852
2013-04-10
知道答主
回答量:13
采纳率:100%
帮助的人:19.4万
展开全部
推荐在应用层拼写两个insert语句执行插入 因为触发器内封装逻辑在后期维护中可能会有问题 而且入楼上所说 可能会有BUG 当然要视版本而定 提醒楼主注意事务问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式