У меня есть запрос, который вставляет с помощью select:
INSERT INTO courses (name, location, gid)
SELECT name, location, gid
FROM courses
WHERE cid = $cid
Можно ли только выбрать "имя, местоположение" для вставки и задать gid для чего-то еще в запросе?
Да, абсолютно, но проверьте свой синтаксис.
INSERT INTO courses (name, location, gid)
SELECT name, location, 1
FROM courses
WHERE cid = 2
Вы можете поместить константу того же типа, что и gid
, а не только 1, конечно. И я просто составил значение cid
.
Да, это так. Вы можете написать:
INSERT INTO courses (name, location, gid)
SELECT name, location, 'whatever you want'
FROM courses
WHERE cid = $ci
или вы можете получить значения из другого соединения select...
Правильный синтаксис: выбор орфографии был неправильным
INSERT INTO courses (name, location, gid)
SELECT name, location, 'whatever you want'
FROM courses
WHERE cid = $ci
Конечно, что вы хотите использовать для gid? статическое значение, PHP var,...
Статическое значение 1234 может быть следующим:
INSERT INTO courses (name, location, gid)
SELECT name, location, 1234
FROM courses
WHERE cid = $cid
Я думаю, что ваш оператор INSERT неверен, см. правильный синтаксис: http://dev.mysql.com/doc/refman/5.1/en/insert.html
изменить: как уже указывал Андрей...
Правильный синтаксис для вашего запроса:
INSERT INTO courses (name, location, gid)
SELECT (name, location, gid)
FROM courses
WHERE cid = $cid