SQL在条件中的某些表中插入新元组

时间:2018-08-15 21:05:28

标签: sql

我在Xampp上有一个数据库,我希望同时更新一些表,并且如果某些表中已经存在该值,我希望回滚。

  • 我曾想过:
    • 触发:但是我不喜欢(因为服务器不是我的,依此类推)
    • BEGIN 查询(进行检查),插入(如果条件正确) COMMIT / ROLLBACK ,但是以此方式我杀死了并发性。

有其他方法或技巧可以做到吗?

我想这样做:

if(value exist) rollback;
else insert;

但是我有一些桌子,所以我希望这样做:

if(value1 in table 1 not exist && value2 in table2 not exist)
insert;
else rollback

另一个例子:

Table1: dog color -> Bobby black - Rex white
Table2: pot misure -> Moon 12 -  Lima 13

insert in table1 dog color  Bobby pink
insert in table2 pot misure Charly 9

全部回滚,因为表1中已经存在Bobby

  1. 在这种情况下,我可以使用开始事务和回滚:
    • 开始
    • 交易查询以了解字段是否为
    • 回滚或 插入提交

但是我希望找到这样一种方式:

insert bla bla if(condition)

有可能吗?

我发现了这个:

 Insert into Table1 (dog, color) SELECT 'Zulu', 'yellow' WHERE not
 exists (select * from Table1 where dog = 'Zulu')

如果我有这些说明,我可以使用begin和commit吗?

0 个答案:

没有答案