Форум: "Базы";
Текущий архив: 2004.09.05;
Скачать: [xml.tar.bz2];
ВнизПри попытке редактировать запрос получаю сообщение. Найти похожие ветки
← →
Fynjy (2004-07-30 07:14) [0]Есть проблемка! При попытке редактировать запрос получаю сообщение: "Key column information is insufficient or incorrect. Too many rows were affected by update." Причем это возникает при попытке редактировать записи, которые совпадают с другими записями.Причем здесь ключ?
← →
sniknik © (2004-07-30 08:12) [1]должен быть.
← →
Fynjy (2004-07-30 08:15) [2]
> sniknik
А как же сам MS Acces справляется без него?
← →
sniknik © (2004-07-30 08:53) [3]ну если бы ты знал внутреннюю структуру, ты бы тоже мог, а так тебе ждя общения с базой есть внешний "управленец" SQL, а у него вся идеология даотупа к записям на ключах построена.
кстати у аксеса другие заморочки зато (по той же причине по которой он мет редактировать), попробуй там удалить часть таблицы, солидную такую часть гдето в 15 (лучше больше) тыс. записей. думаю он тебе скажет что букмарков ему не хватает (поиши инфу про них и сам сможеш так же, только не в дельфевском хелпе ;).
← →
сергей1 (2004-08-03 19:36) [4]такой косяк может появиться, если ты редактируешь запрос типа :
select distinct * from Table1
если таблица содержит что-то типа :
______
value1
value1
value2
value3
то результат получится :
______
value1
value2
value3
тогда, при попытке изменить value1 на что-то другое, откуда сервак может знать какую строчку ты имеешьв виду в оригинальной таблице - первую или вторую ?
← →
I need help (2004-08-11 02:11) [5]Помогите, пожалуйста. При удалении записи получаю такую же ошибку (Key column insufficent ...). Но первичный ключ в таблице есть! В чём тогда проблема?
← →
menart © (2004-08-11 07:45) [6]
> I need help (11.08.04 02:11) [5]
> Помогите, пожалуйста. При удалении записи получаю такую
> же ошибку (Key column insufficent ...). Но первичный ключ
> в таблице есть! В чём тогда проблема?
Чем пользуешься (СУБД+технология доступа+(таблица или запрос))?
← →
sniknik © (2004-08-11 07:58) [7]> Но первичный ключ в таблице есть!
а в запросе? или там только выбранные поля? + menart © (11.08.04 07:45) [6]. ???
← →
сергей1 (2004-08-11 09:07) [8]ответ же уже был, даже если таблица с ключем :
p_key | f1
-----------
1 | a
2 | a
3 | b
4 | a
при попытке редактирования запроса типа :
select f1 from Table1 where f1 = "a"
будет вываливаться эта ошибка, потому-что сервак не в состоянии определить, какую из трех строк ты имеешь в виду.
Правда есть такой прикол, что, при попытке update"ить этот запрос, после появления этой ошибки, все записи , где f1 = "a" все равно меняются, это странно, может глюк ?
(D7, MS SQL)
← →
sniknik © (2004-08-11 10:52) [9]> это странно, может глюк ?
какая же это странность? в запросе update явно указывается where f1=a
условие совпадает - апдейтится. а в случае редактирования в гриде попытка обновления 1-й записи! с неопределенным(и неопределяемым) условием, вот и глюк/предупреждение.
все логично, и по другому не получится.
← →
сергей1 (2004-08-11 21:44) [10]странно то, что при выдаче ошибки действие выполняется. Если сервер дает ошибку - пусть будет добр отменить операцию, если проводит операцию - не надо показывать никаких ошибок. Такая ситуация нелогична. Ведь проблема действительно есть - с одной стороны запрос на update законен и должен быть выполнен без проблем, с другой - когда ты редактируешь грид или dbedit ты имеешь в виду совершенно конкретную строку. Все-таки мне кажется здесь недоработка
← →
sniknik © (2004-08-11 23:22) [11]> Если сервер дает ошибку - пусть будет добр отменить операцию
пожалуйста, нарисуй алгоритм, ... напомню ключа нет (!!!)
поля в гриде
f1
-
a
a
b
a
b
редактируем 2-ю строку, сервер сделал апдейт и вернул что под изменение попало больше чем одна запись, выдало передупреждение, меняли к примеру a на b... получилось
f1
-
b
b
b
b
b
давай, делай откат.
(частный случай, когда ключь есть в базе но не в запросе не рассматриваем, т.к. нужен унивесальный и унифицированный метод)
а лучше поверь, сделано все наилутшем из возможных методов, и учи и используй то что есть а не придумывай как оно бы было если бы...
> Все-таки мне кажется здесь недоработка
перекрестись, может перестанет. ;о))
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.09.05;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.038 c