mysql - 当另一个表上不存在时,mysql在不同的列上插入数据
问题描述
所以我尝试在不存在的列上插入一个字符串,我不太确定我将使用的查询,但我正在尝试插入它,这是一个示例。
table1 table2
| col1 | col2 | | id | data1 |
|:-----------------:| |:-----------:|
| | | | 1 | sample|
|:-------|---------:| |:----|------:|
这里我将使用什么方法/查询,如果我试图在 col1 中插入的数据存在于 table2 上,它是示例然后将其插入 col1 但当它不存在于 table2 上时,我将它放在 col2 上
解决方案
IF()
对要插入每列的值使用表达式。
INSERT INTO table1 (col1, col2)
VALUES (IF(EXISTS(SELECT * FROM table2 WHERE data1 = ?), ?, ''),
IF(EXISTS(SELECT * FROM table2 WHERE data1 = ?), '', ?))
推荐阅读
- stripe-payments - Gravity Form Stripe 试用 + 安装费
- symfony - Homestead 没有加载页面(symfony)
- asp.net - 如何隐藏包含查询字符串的实际网址?
- java - Kafka Stream 如何使用 KTable#Suppress 发送最终聚合?
- html - 弹性容器内的粘性条
- android - AWSAppSyncClient 未检测到 graphql 查询
- python-3.x - 通过提供目录和部分文件名以及扩展名来列出文件
- c# - 如何在 SshClient 上添加不同的端口?
- reactjs - 如何从 NextJS / ReactJS 中的 JWT cookie 获取用户信息
- javascript - 在 Photoshop 中深度克隆 JavaScript 1.5 数据