簡體   English   中英

MySQL任何關鍵字的用法

[英]MySQL any keyword usage

我遇到以下問題:

當我執行以下語句時,由於返回多行而收到錯誤

INSERT INTO artist 
            (personid, 
             musicgenreid, 
             totallikes) 
VALUES     ( (SELECT personid 
              FROM   person 
              WHERE  firstname = 'Joe' 
                     AND middlename = '' 
                     AND lastname = 'blow'), 
             (SELECT musicgenreid 
              FROM   musicgenre 
              WHERE  musicgenreid = 4), 
             ( totallikes = 328374 ) ); 

我在(從person中選擇pesonID ...)語句中遇到錯誤,並且嘗試使用'any'關鍵字僅捕獲任何行,但似乎無法正常工作。 我已經嘗試過幾乎可以想到的當前查詢和“ any”的所有排列,但是它不起作用。 我是否應該嘗試其他解決方案,或者由於某種原因我只是錯過了分數?

看來您正在嘗試執行以下操作:

INSERT INTO artist (personid, musicgenreid, totallikes) 
VALUES (
  (SELECT personid FROM person 
   WHERE  firstname = 'Joe' AND middlename = '' AND lastname = 'blow'
   ORDER BY RAND()
   LIMIT 1
   ),
  4,
  328374
);

這將為您提供一個符合給定條件的隨機personid

查詢中的musicgenreid將為null4 我將其強制為4因為您似乎正在手動添加它們,並且知道它們已經存在。

總點贊字段也固定,但是您的語法不正確。

試試這個SQL語句

     INSERT INTO artist 
            (personid, 
             musicgenreid, 
             totallikes) 
VALUES     ( (SELECT personid 
              FROM   person 
              WHERE  firstname = 'Joe' 
                     AND middlename = '' 
                     AND lastname = 'blow' LIMIT 1 ), 
             4, 
             328374); 

暫無
暫無

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

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