MySQL any 关键字用法

标签 mysql sql any

我遇到了以下问题:

当我执行下面的语句时,我得到一个错误,因为它返回了不止一行

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 ) ); 

我在 (select pesonID from person...) 语句中收到错误,我正在尝试使用“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,因为您似乎是在手动添加它们并且您知道它们已经存在。

总喜欢字段也已修复,但您的语法不正确。

关于MySQL any 关键字用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20321151/

相关文章:

arrays - PostgreSQL fdw 表性能在 5 次相同查询后呈指数下降

mysql - 随机执行 SELECT 时为数据库表建立索引会有多大区别

mysql - 在 mysql 中,如何根据一组给定的值为表中的每一行设置一列

mysql - 使用 MySQL,有什么方法可以转储数据库中所有 200 个表中每个表中的记录数?

python - 生成器表达式和 Any/All 的意外结果

java - Hibernate @Any 无法获取对象

php - 如何使用 Laravel 在应用程序运行时连接到不同的数据库?

php - Mysql GROUP_CONCAT 速度极慢

mysql - 调查的答案选项引用主表,例如城市

sql - 数据库规范化