MySQL 准备 -> 字段列表中的未知列

标签 mysql prepared-statement prepare

我一直在试图找出为什么这会给我一个错误:

PREPARE test FROM 'SELECT t.blah FROM (SELECT ? AS blah) t;';

ERROR 1054 (42S22): Unknown column 't.blah' in 'field list'

还有:

PREPARE test FROM 'SELECT t.* FROM (SELECT ? AS blah) t;';

ERROR 1051 (42S02): Unknown table 't'

如果有人能够阐明这些错误,那就太好了。谢谢!!

编辑:这里有一个错误报告: http://bugs.mysql.com/bug.php?id=71577

似乎解决方法是:

PREPARE test FROM 'SELECT t.blah FROM (SELECT ? AS blah UNION SELECT ? AS blah) t;';

最佳答案

为什么不简单地使用:

PREPARE test FROM 'SELECT ? AS blah';

您的解决方法会产生不同的结果。

关于MySQL 准备 -> 字段列表中的未知列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24434336/

相关文章:

c# - 从 ASP.NET Core 2.1 中的 MySqlConnector 获取查询日志

java - PreparedStatement 无效的表名

php - 在 SQLite3 和 PHP 中使用准备好的语句

php - MYSQL PHP使用查询结果在foreach循环中重新查询(复杂-我认为)

php - 在 PHP 中向 MySQL 插入多行(单个查询): Prepare-Execute vs. 准备-绑定(bind)-执行

PHP - 分页 - 为什么我收到此错误 : not found in MySQL result index 14?

mysql - 大尺寸表上的子字符串交替

php - Mysqli 为非动态变量准备的语句

MySQL语法检查

java - 尝试使用 jdbc 事务向数据库表输入值