全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
12
返回列表 发新帖
楼主: 万人迷
打印 上一主题 下一主题

[疑问] MYSQL大佬请进,(语句方面的)THANK YOU.

[复制链接]
11#
发表于 2017-12-18 17:43:17 来自手机 | 只看该作者
本帖最后由 椰子 于 2017-12-18 17:50 编辑

insert into b  ('aid') values (select id from a where name= '名字' and age ='年龄';);
12#
发表于 2017-12-18 17:43:57 | 只看该作者
本帖最后由 caibrid 于 2017-12-18 17:51 编辑

第一个应该可以用触发器解决,第二个需求可以修改下if else试下。

  1. DROP TRIGGER IF EXISTS t_afterinsert_on_a;
  2. CREATE TRIGGER t_afterinsert_on_a
  3. AFTER INSERT ON a
  4. FOR EACH ROW
  5. BEGIN
  6.      insert into b(aid) values(new.id);
  7. END;
  8. DROP TRIGGER IF EXISTS t_afterdelete_on_a;
  9. CREATE TRIGGER t_afterdelete_on_a
  10. AFTER DELETE ON a
  11. FOR EACH ROW
  12. BEGIN
  13.       delete from b where aid=old.id;
  14. END;
复制代码
13#
 楼主| 发表于 2017-12-18 17:43:59 | 只看该作者
leassy 发表于 2017-12-18 17:37
事物外做查询,没有才执行前两句,一定要在事物中执行前两句

INSERT INTO t VALUES (NULL, 'aaaa'), (NULL, 'bbbb'), (NULL, 'cccc');
这样的话 LAST_INSERT_ID()就不启作用了
如果是多线程,也不行。。这个方便只适合一条一条的插入
14#
 楼主| 发表于 2017-12-18 17:45:18 | 只看该作者

感谢回复,亲,我要的是MYSQL语句,这个PHP类的,我不懂呀
15#
发表于 2017-12-18 17:48:39 来自手机 | 只看该作者
本帖最后由 椰子 于 2017-12-18 17:52 编辑
万人迷 发表于 2017-12-18 17:43
INSERT INTO t VALUES (NULL, 'aaaa'), (NULL, 'bbbb'), (NULL, 'cccc');
这样的话 LAST_INSERT_ID()就不 ...


第二问就用我那个答案,或者想纯粹用sql语句  就用 case应该可以实现
16#
发表于 2017-12-18 17:49:25 | 只看该作者
万人迷 发表于 2017-12-18 17:43
INSERT INTO t VALUES (NULL, 'aaaa'), (NULL, 'bbbb'), (NULL, 'cccc');
这样的话 LAST_INSERT_ID()就不 ...

那就做个查询
你已知那些人的姓名就能姓名做查询
INSERT INTO B (`aid`)  (SELECT `id` FROM A WHERE `name` IN ('asd','asfddfgd','asdasdadfgdfg'));
17#
发表于 2017-12-18 17:50:15 | 只看该作者
这么快结束了。。。。。。 分都没了
18#
发表于 2017-12-18 17:55:40 | 只看该作者
这不就是绝壁用存储过程的时候到了吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-5-10 06:42 , Processed in 0.066677 second(s), 6 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表