- 目标:**验证table1中是否存在ID字符串;如果是,则将数据插入到表2中,否则跳过。
我在MariaDB数据库中有两个表:
- 表格1**
| id整数(11)自动递增|myID字符串文本|
| - -| - -|
| 千零一|小行星一千二百三十四|
- 表格2**
| id整数(11)自动递增|myID字符串文本|字符串1字符(32)|字符串2字符(32)|
| - -| - -| - -| - -|
| 千|小行星0123|部分文本1|一些文字2|
显然,它们并不相似,但两者的共同点是一个名为myIDString的列。在处理数据时,首先填充table1,然后在myIDString中获得某个值(此处为1234)。
在进一步的处理过程中,我获取了数据变量,并将其输入到table2.string1和table2.string2中。
如果可能的话,我会尝试创建一行Insert,如
if exists (select myIDString from table1 where myIDSTring = 1234) then
insert into table2(myIDString, string1, string2) values(1234, $myString1,$myString2);
但到目前为止还没有运气。我读过关于类似问题的帖子,那些帖子没有提供解决这个问题的方法。最好的情况是,我想要一个oneliner解决方案,但其次,如果我需要一个触发器来处理这个问题,那么这样的触发器看起来会是什么样子?
1条答案
按热度按时间2jcobegt1#
我认为解决我的问题的最好办法是使用触发器。
当我执行一个简单的
insert into table2(myIDString) values(1111);
时,如果该值不在table1中,那么插入就会失败。如果有人有其他的解决方案,请随时在这里添加:)。