第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

MySQL語法錯(cuò)誤消息“操作數(shù)應(yīng)包含1列”

MySQL語法錯(cuò)誤消息“操作數(shù)應(yīng)包含1列”

收到一只叮咚 2019-09-06 16:07:49
我嘗試運(yùn)行以下語句:INSERT INTO VOUCHER (VOUCHER_NUMBER, BOOK_ID, DENOMINATION)SELECT (a.number, b.ID, b.DENOMINATION) FROM temp_cheques a, BOOK bWHERE a.number BETWEEN b.START_NUMBER AND b.START_NUMBER+b.UNITS-1;根據(jù)我的理解,應(yīng)該從temp_cheques中插入VOUCHER中的每個(gè)記錄,其ID和DENOMINATION字段對(duì)應(yīng)于BOOK表中的條目(temp_cheques來自數(shù)據(jù)庫(kù)備份,我試圖以不同的格式重新創(chuàng)建)。但是,當(dāng)我運(yùn)行它時(shí),我收到一個(gè)錯(cuò)誤:Error: Operand should contain 1 column(s)SQLState:  21000ErrorCode: 1241我在SQuirrel中運(yùn)行它并且沒有遇到任何其他查詢的問題。我的查詢語法有問題嗎?編輯:BOOK的結(jié)構(gòu)是:ID  int(11)START_NUMBER    int(11)UNITS   int(11)DENOMINATION    double(5,2)temp_cheques的結(jié)構(gòu)是:ID  int(11)number  varchar(20)
查看完整描述

3 回答

?
回首憶惘然

TA貢獻(xiàn)1847條經(jīng)驗(yàn) 獲得超11個(gè)贊

嘗試從SELECT子句中刪除括號(hào)。從Microsoft TechNet,使用SELECT子句的INSERT語句的正確語法如下。


INSERT INTO MyTable  (PriKey, Description)

       SELECT ForeignKey, Description

       FROM SomeView

你得到的錯(cuò)誤,“SELECT將檢查超過MAX_JOIN_SIZE行;檢查你的WHERE并使用SET SQL_BIG_SELECTS = 1或SET SQL_MAX_JOIN_SIZE =#如果SELECT沒問題。”,實(shí)際上是正確的,假設(shè)你有兩行BOOK和temp_cheques。您正在嘗試查詢兩個(gè)表中的所有行并進(jìn)行交叉引用,從而產(chǎn)生m * n大小的查詢。在執(zhí)行可能很長(zhǎng)的操作之前,SQL Server正試圖警告您。


SQL_BIG_SELECTS在運(yùn)行此語句之前設(shè)置= 1,然后重試。它應(yīng)該工作,但請(qǐng)注意,此操作可能需要很長(zhǎng)時(shí)間。


查看完整回答
反對(duì) 回復(fù) 2019-09-06
?
烙印99

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超13個(gè)贊

B是否包含UNITS列?

temp_cheques和Book的表結(jié)構(gòu)是什么?

在進(jìn)行+/-和比較時(shí),所有列都應(yīng)該是數(shù)字。

以下簡(jiǎn)單的SELECT是否有效?

SELECT b.START_NUMBER+b.UNITS-1 FROM Books B


查看完整回答
反對(duì) 回復(fù) 2019-09-06
?
四季花海

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超5個(gè)贊

查詢的最終版本如下:


Set SQL_BIG_SELECTS = 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);

BETWEEN語句的解析需要括號(hào),SELECT沒有,并且由于兩個(gè)表的大?。╰emp_cheques中的215000條記錄,BOOK中的8000條),我打破了選擇大小的限制,要求我設(shè)置SQL_BIG_SELECTS = 1 。


查看完整回答
反對(duì) 回復(fù) 2019-09-06
  • 3 回答
  • 0 關(guān)注
  • 1127 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)