query - select insert mysql ejemplos
INSERTAR con SELECT (6)
Tengo una consulta que inserta utilizando una selección:
INSERT INTO courses (name, location, gid)
SELECT name, location, gid
FROM courses
WHERE cid = $cid
¿Es posible seleccionar solo "nombre, ubicación" para la inserción y establecer gid en otra cosa en la consulta?
Claro, ¿qué quieres usar para el gid? un valor estático, PHP var, ...
Un valor estático de 1234 podría ser como:
INSERT INTO courses (name, location, gid)
SELECT name, location, 1234
FROM courses
WHERE cid = $cid
Creo que su declaración INSERT es incorrecta, vea la sintaxis correcta: http://dev.mysql.com/doc/refman/5.1/en/insert.html
Edición: como Andrew ya señaló ...
La sintaxis correcta para su consulta es:
INSERT INTO courses (name, location, gid)
SELECT (name, location, gid)
FROM courses
WHERE cid = $cid
Sí lo es. Puedes escribir :
INSERT INTO courses (name, location, gid)
SELECT name, location, ''whatever you want''
FROM courses
WHERE cid = $ci
o puede obtener valores de otra unión de la selección ...
Sí, absolutamente, pero comprueba tu sintaxis.
INSERT INTO courses (name, location, gid)
SELECT name, location, 1
FROM courses
WHERE cid = 2
Puede colocar una constante del mismo tipo que gid
en su lugar, no solo 1, por supuesto. Y, acabo de hacer el valor cid
.
Sintaxis correcta: la ortografía de selección fue incorrecta
INSERT INTO courses (name, location, gid)
SELECT name, location, ''whatever you want''
FROM courses
WHERE cid = $ci