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