Search code examples
mysqlsqlinsert-select

INSERT with SELECT


I have a query that inserts using a SELECT statement:

INSERT INTO courses (name, location, gid) 
SELECT name, location, gid 
FROM courses 
WHERE cid = $cid

Is it possible to only select "name, location" for the insert, and set gid to something else in the query?


Solution

  • Yes, absolutely, but check your syntax.

    INSERT INTO courses (name, location, gid)
    SELECT name, location, 1
    FROM   courses
    WHERE  cid = 2
    

    You can put a constant of the same type as gid in its place, not just 1, of course. And, I just made up the cid value.