萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> Mysql錯誤Operand should contain * column解決辦法

Mysql錯誤Operand should contain * column解決辦法

Mysql錯誤問題各種各樣的今天 在維護一個網站時碰到Mysql錯誤Operand should contain * column,下面一起來看問題解決步驟。

使用了sql語句處理某些內容。當執行某個語句時,Mysql報錯誤:Operand should contain 1 column

字面意思是,需要有1個數據列。

我的sql語句類似這樣:

update cdtable set cdcontent=’cd is a good boy’ where id in(

select * from(

select * from cdtable where cdtype in(1,2,3) order by id desc limit 100

)as cd

)

雖然錯誤的字面意思是缺少列,但是究竟是哪裡缺少了列呢?

經過測試,發現是在加上最外層的sql語句之後報的錯

仔細看了一下語句,發現在上面語句的藍色部分“where id in(~~~)”,子查詢使用了(select * ~~)子查詢得到的是不止一列的數據記錄

而很明顯,where id in 需要的條件數據是一個列,問題就發生在這裡啦

解決的方法是:把where id in(~~)括號內的第一層子查詢的“*”改成“id”即可,改後的句子就像:

update cdtable set cdcontent=’cd is a good boy’ where id in(

select id from(

select * from cdtable where cdtype in(1,2,3) order by id desc limit 100

)as cd

)

copyright © 萬盛學電腦網 all rights reserved