![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как в инзерт запихнуть селект? [D6, MySQL]
vegarulez © (2007-04-28 07:05:00)Привет мастерам у меня вот такой вопрос- пытаюсь продублировать запись в БД (MySQL) , чтобы она была с новым ИД-ом(поле ID уникальное, автоинкремент), для этого хочу сделать так:
INSERT INTO `qwert` ( `x` , `y` , `z` ) VALUES (select `x` , `y` , `z` FROM `qwert` where `ID`=1)
{
При инзерте ID не требуется указывать в инзерте - т.к. он автоинкремент должен автоматом создаваться сам.... как вот тут
INSERT INTO `qwert` ( `x` , `y` , `z` ) VALUES (1 ,2, 3)
}
Так вот вопрос - как мне продублировать запись? Подскажите, т.к. первый запрас ругается на селект...
Megabyte (2007-05-02 11:35:00) [1]
> sniknik © (28.04.07 08:51) [4]
у них там вообще с подзапросами проблемы, насколько знаю. (или были в старых версиях)
Факт, сам столкнулся.
vegarulez (2007-04-30 12:28:00) [2]Попробовал использовать для доступа к MySQL 4.1.16-maxZeosDBO - получилось.
Ни у кого нет мыслей по DBE?
vegarulez (2007-04-28 20:44:00) [3]Народ кто с таким сталкивался?... подмогите.... (D6, XP, MySQL 3.23.53-max ---> MySQL 4.1.16-max)
vegarulez (2007-04-28 19:34:00) [4]рабочая бд была под мускулем 3.23.53-max
перенёс её на мускль 4.1.16-max
vegarulez (2007-04-28 19:23:00) [5]вроде в старой бд win1251 я вот думаю, может просто из-за того что библиотеки старые? libmysql.dll и dbexpmys.dll. Но хотя SQLConnection1 с ними нормально подцепляется.... и даже SQLDataSet1 таблички видит подключаясь через этот конектион... тока когда active = true делаешь - ошибка таже...
vegarulez (2007-04-28 18:41:00) [6]не знаю, наверно... как это посмотреть?
Desdechado (2007-04-28 15:58:00) [7]База в какой кодировке? Юникод, небось?
vegarulez (2007-04-28 14:30:00) [8]Забыл уточнить ....Для подключения использую dbExpress компоненты... (хотя из ошибки видно...)
vegarulez (2007-04-28 14:08:00) [9]тут возникла другая проблема.... :(
Вставка то нормально работает в пхпмайадмине....
перешёл на делф, открыл свой проект...
элемент SQLDataSet1 при обращении к табличке теперь выдаёт такую вот ошибку...
DBX Erorr: Invalid Translation
сменил ctQuery (думал мож селект кривой) на ctTable ошибка таже...
подскажите в чём тут может быть дело?
Desdechado (2007-04-28 11:14:00) [10]Вставка самой в себя чревата. В разных серверах по-разному отрабатывает, и это нужно иметь в виду.
vegarulez (2007-04-28 10:01:00) [11]поставил новую версию Денвера с более новым мусклем
запрос ЮЮ © (28.04.07 07:09) [1]
успешно прошёл.
Т.ч. дело видимо было этом... спасибо. Вопрос решён.
sniknik (2007-04-28 08:51:00) [12]еще попробуй из другой таблицы вставить... проверить, может в MySQL недопустима вставка из самой себя...
у них там вообще с подзапросами проблемы, насколько знаю. (или были в старых версиях)
ЮЮ (2007-04-28 08:46:00) [13]попробуй алиас в селективной части поставить:
INSERT INTO `qwert` ( `x` , `y` , `z` ) SELECT `x` , `y` , `z` FROM `qwert` as qwhere `ID`=1
vegarulez (2007-04-28 07:29:00) [14]phpMyAdmin в котором сначала отлаживаю запросы выдаёт такую ошибку -
Not unique table/alias: `qwert`
ЮЮ (2007-04-28 07:09:00) [15]VALUES в данной конструкции INSERT лишнее:
INSERT INTO `qwert` ( `x` , `y` , `z` ) SELECT `x` , `y` , `z` FROM `qwert` where `ID`=1