Mysql 基于字符串匹配插入行
我在名为Mysql 基于字符串匹配插入行,mysql,Mysql,我在名为tb\u price +----+---------+---------+ | id | pair_id | price | +----+---------+---------+ | 1 | | 318.18 | +----+---------+---------+ | 2 | | 15.24 | +----+---------+---------+ | 3 | | 5963.13 | +----+---------+---
tb\u price
+----+---------+---------+
| id | pair_id | price |
+----+---------+---------+
| 1 | | 318.18 |
+----+---------+---------+
| 2 | | 15.24 |
+----+---------+---------+
| 3 | | 5963.13 |
+----+---------+---------+
当我插入价格时,我希望能够通过查找表tb\u-pair
中的id
字段来插入字段pair\u id
+----+----------+-----------+
| id | base_cur | quote_cur |
+----+----------+-----------+
| 1 | BTC | USD |
+----+----------+-----------+
| 2 | ETH | USD |
+----+----------+-----------+
| 3 | XMR | USD |
+----+----------+-----------+
当插入到tb\u price
中时,我有base\u cur
和quote\u cur
值可用。使用以下数据:base\u cur=BTC
、quote\u cur=USD
和price=5963.13
我希望能够这样填充tb\u price
(参见ID 3):
我试图在一个简单的INSERT
查询中实现这一点,但我正在努力寻找答案,因为这个问题对于我目前的知识来说太抽象了。我想象某种类型的内部连接,通过查找tb\u pair
找到pair\u id
INSERT INTO tb_price ( `pair_id` , `price` ) VALUES ( ( SELECT id FROM tb_pair WHERE `base_cur` = 'ETH' LIMIT 1 ), '10.00' )
您需要将基本cur从ETH
配置为您的货币,并将10.00
更新为价格。您可能需要添加变量验证之类的内容,但这将为您提供一个完成工作的良好起点
INSERT INTO tb_price ( `pair_id` , `price` ) VALUES ( ( SELECT id FROM tb_pair WHERE `base_cur` = 'ETH' LIMIT 1 ), '10.00' )