簡體   English   中英

插入WHERE和AND,錯誤代碼:1241。操作數應包含1列

[英]Inserting with WHERE and AND, Error Code: 1241. Operand should contain 1 column(s)

出現錯誤信息: Error Code: 1241. Operand should contain 1 column(s)

INSERT INTO TBL_TESTER_INFO2 (
    board_id,
    tester_name,
    board_name, 
    config,
    operating_system,
    log_created
) VALUES (
    (SELECT
        bl.id as 'board_id',
        bl.tester_type,
        bl.board_name
    FROM TesterDeviceMatrix.TBL_BOARD_LIST bl
    WHERE bl.tester_type = 'UFLEX'
    AND bl.board_name = 'HSD-U'
    ), 
    'tester',
    'board',
    'slot',
    'windows',
    '2015-06-10 16:08:42'
);

有什么幫助嗎? 似乎沒有語法錯誤。

相當確定您不能將SELECT語句與其他值混合在一起作為INSERT語句的VALUE集合的一部分。

我只是將靜態值放入SELECT ,例如

INSERT INTO TBL_TESTER_INFO2 (...)
SELECT
    bl.id,
    bl.tester_type,
    bl.board_name,
    'slot',
    'windows',
    '2015-06-10 16:08:42'
FROM TesterDeviceMatrix.TBL_BOARD_LIST bl
WHERE bl.tester_type = 'UFLEX'
AND bl.board_name = 'HSD-U';

這是插入選擇SQL的語法。

INSERT INTO table_name1(id, name,address,contact_number) 
SELECT id, name, address, contact_number FROM table_name2;  

在SQL插入語句中,選擇SQL中的列不匹配。

我修改了您的SQL。 我認為它將執行

INSERT INTO TBL_TESTER_INFO2 (board_id,tester_name,board_name, config,operating_system,log_created) 
    SELECT bl.id AS 'board_id',bl.tester_type,bl.board_name,'slot','windows','2015-06-10 16:08:42'
    FROM TesterDeviceMatrix.TBL_BOARD_LIST bl
    WHERE bl.tester_type = 'UFLEX'
    AND bl.board_name = 'HSD-U'

謝謝。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM