mysql动态选择,在MySQL中动态选择列

I know how to pipe one MySQL query into another:

SELECT user_name FROM users WHERE user_id=( SELECT user_id FROM entries WHERE header="foo" );

Out of pure intellectual curiosity, how I dynamically choose a column or a table?

Ex:

SELECT (

SELECT column_name FROM column_names WHERE id = 1

) FROM (

SELECT table_name FROM table_names WHERE id = 1

);

解决方案

Use a prepared statement:

mysql> SET @sql = CONCAT("SELECT ", (SELECT "NOW()"));

Query OK, 0 rows affected (0.00 sec)

mysql> SELECT @sql;

+--------------+

| @sql |

+--------------+

| SELECT NOW() |

+--------------+

1 row in set (0.00 sec)

mysql> PREPARE stmt FROM @sql;

Query OK, 0 rows affected (0.00 sec)

Statement prepared

mysql> EXECUTE stmt;

+---------------------+

| NOW() |

+---------------------+

| 2009-04-06 23:08:31 |

+---------------------+

1 row in set (0.00 sec)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值