Добрался до живого форума Есть Table1 и Table1_History - абсолютно одинаковые структуры Надо из Table1 в Table1_History записать строку, шпарить програмно запрос муторно (много полей а конкретно 92)
вот мой запрос, он не работает Код (Text): insert into orderscomplete (oper, disp, ordertype, orderstate, preorder, roadside, phone, street, house, porch, apart, zonefrom, meet, addressfrom, addressto, streetto, houseto, zoneto, route, suburb, distance, distcity, distsuburb, client, clientname, prefcar, driver, drivershift, channel, ordertime, pretime, driverstart, driverwait, clientringup, driverload, completetime, endtask, cash, dcard, driveupprice, waitprice, puredriveprice, ordersum, paysum, discount, carddiscount, drvcharged, opercharged, dispcharged, info, legend_drv, legend_order, usecldiscount, cldbalance, drvbonus, msgid, waittime, waitingstart, oldnum, ordercompany, passenger, ordervendor, stopid) values (select oper, disp, ordertype, orderstate, preorder, roadside, phone, street, house, porch, apart, zonefrom, meet, addressfrom, addressto, streetto, houseto, zoneto, route, suburb, distance, distcity, distsuburb, client, clientname, prefcar, driver, drivershift, channel, ordertime, pretime, driverstart, driverwait, clientringup, driverload, completetime, endtask, cash, dcard, driveupprice, waitprice, puredriveprice, ordersum, paysum, discount, carddiscount, drvcharged, opercharged, dispcharged, info, legend_drv, legend_order, usecldiscount, cldbalance, drvbonus, msgid, waittime, waitingstart, oldnum, ordercompany, passenger, ordervendor, stopid from orders where num=68) там просто num есть - автоинкрементный в обоих таблицах, который мы из первой вов торую не перенесем по понятным причинам
а зачем во второй таблице num автоинкрементный? и, как ты считаешь, какую информацию можно извлечь из твоего детального описания проблемы, заключенного в сакраментальную фразу "он не работает"?
Вопрос "зачем вообще нужна таблица Table1_History" я задавать не буду.Местные посетители очень не любят, когда им задают вопросы, в которых ставятся под сомнение их гениальные таланты к проектированию приложений.
Насчет гениальности фиг с ним, вопрос бы решился. На эту базу есть локальный клиент для оператора(Исходников у меня нет). Я решил преписать web-клиента для заказов ч/з интернет, посему менять структуру базы ниизя MySQLCC пишет ERROR 1064:You have an error in your SQL syntax. Chek... yr вобщем все то, что он пишет на ошибоки, которые не может найти. Так что мне к "он не работает" прибавить нечего
ЧЕГО??? как это - не может найти?! Он показывает место, в котором ошибка! Ровно в том месте, которое ты пропустил. Мало того, что ты пишешь запрос с ошибкой - то есть, проблема не в принципиальном поддходе, а всего лишь в кривой реализации. Мало того, что ты сам не можешь глаза разуть и прочитать сообщение об ошибке самостоятельно Мало того, что ты не приводишь сообщение об ошибке здесь, чтобы тебе его прочитали Так ты ещё и начинаешь выпендриваться когда тебе говорять привести здесь описание проблемы.
IvanNoFF могу предложить сделать два шага: SELECT ... FROM ... WHERE .... INSERT INTO ... (...) VALUES (...)
возможно, в силу малого опыта, ты не различаешь понятия "он не работает" и " error in your SQL syntax". Но попробуй догадаться, что это немного разное описание проблемы. Ты не пробовал доктору звонить по телефону и говорить "я болен!". И требовать консультации? а потом ему ещё и доказывать, что ничего прибавить не можешь, а градусник сам не знает, что показывает.
topas учи синтаксис mysql это делается одним запросом. и если у него ошибка синтаксиса в одном, то нет гарантии, что той же самой ошибки не будет в другом. Если есть ошибка, то надо её и исправлять. а не кривые костыли придумывать
Чебурген, покажи, а то, наверное, скучно быть умному среди дураков, может мой скверный ум (или его отсутствие) просветлеет.
Нет, не скучно. А совсем наоборот =) IvanNoFF тебя это тоже, кстати, касается. попробуй заглянуть в документацию, на страницу описания запроса INSERT вдруг увидишь там что-то интересное.
Примите мои извинения господин Чебурген Вот полный вариант сообщения об ошибке, полученный после попытки выполнить этот запрос на MySqlControlCenter [user@localhost:3306] ERROR 1064: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'select oper, disp, ordertype, orderstate, preorder, roadside, p Если вы подскажете мне, где мне найти остальную часть ошибки, буду вам благодарен (Это не шутка) select отдельно выдернутый работает нормально, а поля в обоих перечислениях идентичны, их правильность неоспорима, так как взята из дампа инсерта для этих таблиц.
подскажу. ошибка начинается с того места, которое цитирует сообщение. Именно так следует понимать сообщения об ошибке синтаксиса MySQL - она пишет первые слова, которые она не поняла. Я очень сомневаюсь в твоей благодарности, поскольку ты проигнорировал два замечания, которые я считаю весьма существенными. 1. про наличие атрибута автоинкремент во второй табьлице. впрочем, он не мешает. но непонятно, зачем ты перечисляешь поля вручную вместо того, чтобы выбрать звёздочку. 2. про существование таблицы hisory. Я - профессионал. И я не люблю, когда к моим словам относятся, как пению птички. Если ты считаешь мои замечания несущественными - то не надо тогда вообще просить никаких пояснений.
Это ответ на то, зачем таблица хистори и зачем там автоинкремент, а точнее почему я не могу от них избавиться я на форуме всего несколько часов как зарегестрирован,но уже успел получить дельный ответ на интересующий вопрос (см предыдущую тему) , так что в профессианализме форумчан, а конкретно тебя я не сомневаюсь
интересно, что росло вместо головы у того человека, который это "проектировал"... короче. синтаксис запроса, который работает гарантированно, описан в документации по INSERT документация находится на сайте dev.mysql.com на сайте mysql.ru есть русский перевод.
IvanNoFF, возможно, вам стоит генерировать запрос скриптом? В какой из тавлиц у вас избыточная информация? В History или самой таблице?
Всем большее сорри я по скудоумию вместо Код (Text): insert into orderscomplete (...) select ... from orders where .... написал Код (Text): insert into orderscomplete (...) [b]values[/b] (select ... from orders where ....) Дико извеняюсь, обещаю покрыть себя позором и не пить сегодня после работы пиво (Чебурген - Грязевые ванны рулят - в смысле спасиб)