相关疑难解决方法(0)

MySQL语法错误消息"操作数应包含1列"

我尝试运行以下语句:

INSERT INTO VOUCHER (VOUCHER_NUMBER, BOOK_ID, DENOMINATION)
SELECT (a.number, b.ID, b.DENOMINATION) 
FROM temp_cheques a, BOOK b
WHERE a.number BETWEEN b.START_NUMBER AND b.START_NUMBER+b.UNITS-1;
Run Code Online (Sandbox Code Playgroud)

根据我的理解,应该从temp_cheques中插入VOUCHER中的每个记录,其ID和DENOMINATION字段对应于BOOK表中的条目(temp_cheques来自数据库备份,我试图以不同的格式重新创建).但是,当我运行它时,我收到一个错误:

Error: Operand should contain 1 column(s)
SQLState:  21000
ErrorCode: 1241
Run Code Online (Sandbox Code Playgroud)

我在SQuirrel中运行它并且没有遇到任何其他查询的问题.我的查询语法有问题吗?

编辑:

BOOK的结构是:

ID  int(11)
START_NUMBER    int(11)
UNITS   int(11)
DENOMINATION    double(5,2)
Run Code Online (Sandbox Code Playgroud)

temp_cheques的结构是:

ID  int(11)
number  varchar(20)
Run Code Online (Sandbox Code Playgroud)

mysql mysql-error-1241

23
推荐指数
1
解决办法
7万
查看次数

标签 统计

mysql ×1

mysql-error-1241 ×1