【问题标题】:MySQL RGB Comparison error - Commands out of syncMySQL RGB 比较错误 - 命令不同步
【发布时间】:2015-04-23 11:19:10
【问题描述】:

我正在尝试根据与样本的距离来订购颜色列表。 公式为:

d = sqrt( (sR-R)^2 - (sG-G)^2 - (sB-B)^2 )

我正在测试的样本是:sRGB(255,0,0)。

这是我的代码:

    SELECT color.id, color.red, color.green, color.blue, brand.name, 
    SQRT(POW((255-color.red),2)+POW((0-color.green),2)+POW((0-color.blue),2)) AS d
    FROM color, brand 
    WHERE color.brand = brand.id 
    ORDER BY d
    LIMIT 20 OFFSET 0

我不断收到错误:

#2014 - 命令不同步;你现在不能运行这个命令

不确定发生了什么。

额外信息:

  • MySQL 5.6.22
  • 在 phpMyAdmin 4.0.10.7 中运行代码

【问题讨论】:

  • 所以这在 MySQL CLI 中工作正常?
  • @Strawberry 它在外部主机上,我只有 ftp 和 phpMyAdmin 访问权限。我所知道的是它在 phpMyAdmin 中不起作用。
  • 我认为这是主机的问题
  • @Strawberry 你知道我有什么方法可以确认,或者去解决它吗?
  • 嗯,你可以在本地测试,也可以在 sqlfiddle 上测试。如果它有效,那么你就知道了。

标签: mysql sql mysqli phpmyadmin rgb


【解决方案1】:

摆脱“数据截断:BIGINT UNSIGNED 值超出范围”

... POW(0-CAST(color.green AS SIGNED), 2) ...

“#2014 - 命令不同步;您现在无法运行此命令”来自构造不正确的存储过程。让我们看看整个 SP。

【讨论】:

  • 对不起,这可能是一个菜鸟问题,但“SP”是什么?
  • SP = 存储过程。如果您没有创建SP,那么谜团就会变得更加复杂。也许 phpmyadmin 以某种方式将您的查询包装在 SP 中??
猜你喜欢
  • 1970-01-01
  • 2018-06-01
  • 2015-03-05
  • 2014-11-19
  • 2013-01-11
  • 2013-04-08
  • 2021-06-11
  • 2020-09-25
相关资源
最近更新 更多