Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

SELECT all (but one column as null)

Tags:

sql

select

mysql

in mysql, is it possible to get all columns and data from a table, but select the ID column as NULL?

Something like

SELECT *, id AS (SELECT '') FROM my_table WHERE 1

I want to pull in the ID column, so it doesn't mess up the column count for a later data load, but I want to eliminate the column's value so it doesn't cause key conflicts.

Thanks!

like image 583
julio Avatar asked May 16 '11 21:05

julio


2 Answers

So, there is no way to use SELECT * and replace one of the columns with another value.

If you don't want to use the select statement provided in your application code, you can create a view with those fields populated and the ID nulled out. You'll still have to name all the columns at least once.

select NULL as ID, t.col2, t.col3, t.col4 from mytable t where col2 = 1

Here is the easy way to get all of your column names:

SELECT column_name FROM information_schema.columns WHERE table_name = mytable
like image 187
Vinnie Avatar answered Oct 21 '22 01:10

Vinnie


SELECT NULL AS ID, Column1, Column2, ..., ColumnN
    FROM my_table
like image 21
Joe Stefanelli Avatar answered Oct 21 '22 01:10

Joe Stefanelli