MySQL替换列名而不是单独的“as”

时间:2011-12-20 00:41:45

标签: mysql

是否有更简单的方法来编写sql以使用“schedule_”替换所有列名称,以便更容易在PHP中使用。

SELECT * FROM schedules

Array
(
    [schedule_id] => 9
    [schedule_datetime_from] => 2011-12-22 18:28:00
    [schedule_datetime_until] => 2011-12-22 22:28:00
    [schedule_capacity] => 89
    [schedule_amount] => 9.99
    [content_id] => 77
)

目前我最终做了:

$stmnt1 = "SELECT s.schedule_id as id, s.schedule_datetime_from as datetime_from, s.schedule_datetime_until as datetime_until, etc FROM schedules s";

2 个答案:

答案 0 :(得分:4)

没有其他方法可以通过SQL实现这一点 - 真的,你为什么要这样做?这不像你每次手动输入查询。

跟你已经拥有的一样。

答案 1 :(得分:0)

我同意Jon的意见,但如果你真的必须完成这项工作,我建议使用MySQL命令行界面。但是,您还必须考虑索引,UNIQUE约束和外键。并且,如果您有任何代码期望列的非前缀版本,您最终会破坏它,所以请确保您的代码也更新。

通过MySQL docs阅读ALTER TABLE CHANGE,您要查找的行是:“您可以使用CHANGE old_col_name new_col_name column_definition子句重命名列”