mysql-插入两个值,其中另一个表的where条件不起作用

efzxgjgh  于 2021-06-23  发布在  Mysql
关注(0)|答案(2)|浏览(293)

我正在尝试在一个表中插入两个值(一个是从另一个带有条件的表中选择的值)。。。但下面返回一个错误:
sql语句:

INSERT INTO animate_2 (number_records, type) 
     VALUES ((SELECT secty_cd, COUNT(*) 
              FROM securities 
              WHERE secty_cd = 'EQS'
             ), 'eqs'
            );

错误1241(21000):操作数应包含1列
但子查询仍然有效:

mysql> SELECT secty_cd, COUNT(*) FROM securities WHERE secty_cd = 'EQS';
+----------+----------+
| secty_cd | COUNT(*) |
+----------+----------+
| EQS      |    37316 |
+----------+----------+
1 row in set (0.00 sec)

我错过了什么?

jqjz2hbq

jqjz2hbq1#

改变这个 INSERT INTO animate_2 (number_records, type) VALUES ((SELECT secty_cd, COUNT(*) FROM securities WHERE secty_cd = 'EQS'), 'eqs');INSERT INTO animate_2 (number_records, type) VALUES ((SELECT COUNT(*) FROM securities WHERE secty_cd = 'EQS'), 'eqs');

jm81lzqq

jm81lzqq2#

这里不需要值,只需编写如下查询即可。

INSERT INTO animate_2 (number_records,type) 
SELECT Count(*) , 'eqs'
FROM   securities 
WHERE  secty_cd = 'EQS'

相关问题