我试图使用一个选择语句从某个MySQL表中获得除一个以外的所有列。有什么简单的方法吗?
编辑:在这个表格中有53列(不是我的设计)
我试图使用一个选择语句从某个MySQL表中获得除一个以外的所有列。有什么简单的方法吗?
编辑:在这个表格中有53列(不是我的设计)
当前回答
我同意@Mahomedalid的回答,但我不想做一些准备好的语句,我不想输入所有的字段,所以我有一个愚蠢的解决方案。
去phpmyadmin->sql->select表,它转储查询:复制,替换和完成!:)
其他回答
你可以:
SELECT column1, column2, column4 FROM table WHERE whatever
没有得到列3,尽管您可能在寻找一个更一般的解?
是的,尽管根据表的不同,I/O可能会很高,但我找到了一个解决方案。
SELECT *
INTO #temp
FROM table
ALTER TABLE #temp DROP COlUMN column_name
SELECT *
FROM #temp
如果你使用MySQL工作台,你可以右键单击你的表,点击发送到sql编辑器,然后选择所有语句,这将创建一个所有字段都被列出的语句,如下所示:
SELECT `purchase_history`.`id`,
`purchase_history`.`user_id`,
`purchase_history`.`deleted_at`
FROM `fs_normal_run_2`.`purchase_history`;
SELECT * FROM fs_normal_run_2.purchase_history;
现在你可以删除那些你不想要的。
如果它总是相同的一列,那么你可以创建一个不包含它的视图。
否则,不,我不这么认为。
起初我以为你可以使用正则表达式,但我一直在阅读MYSQL文档,似乎你不能。如果我是你,我会使用另一种语言(如PHP)来生成您想要获取的列的列表,将其存储为字符串,然后使用它来生成SQL。