33

The following query works fine with MySQL:

SELECT concat(title,'/') FROM `socials` WHERE 1

It Concat / to the selected title field.

However, when I try to do the following:

SELECT concat(*,'/') FROM `socials` WHERE 1

It returns the follwoing Error:

 #1064 - You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version for the right syntax to use near '*,'/') FROM `socials` WHERE 1 LIMIT 0, 30' at line 1

So is there any way to make such sql query to work with MySql

2
  • No, that can't be done in a plain select. Can you use a stored procedure? Commented Nov 25, 2012 at 12:36
  • 1
    No using stored procedure is not an option for me. Commented Nov 25, 2012 at 12:37

4 Answers 4

49

You simply can't do that in SQL. You have to explicitly list the fields and concat each one:

SELECT CONCAT(field1, '/'), CONCAT(field2, '/'), ... FROM `socials` WHERE 1

If you are using an app, you can use SQL to read the column names, and then use your app to construct a query like above. See this stackoverflow question to find the column names: Get table column names in mysql?

Sign up to request clarification or add additional context in comments.

2 Comments

Thank you all, but the most distinguishable aspect of this answer to obtain it as correct, is showing how to achieve selecting the multiple fields.
@sємsєм, you do it by listing them manually (or, if you are using an app, you can use SQL to read the columns, and then use your app to construct a query like above).
27

If you want to concatenate the fields using / as a separator, you can use concat_ws:

select concat_ws('/', col1, col2, col3) from mytable

You cannot escape listing the columns in the query though. The *-syntax works only in "select * from". You can list the columns and construct the query dynamically though.

Comments

2

You cannot concatenate multiple fields with a string. You need to select a field instand of all (*).

Comments

1

You cannot do this on multiple fields. You can also look for this.

1 Comment

Researchers shouldn't need to click a link to understand your advice.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.