|
|
|
Запрос на вставку и значения NULL в ключевом поле
|
|||
|---|---|---|---|
|
#18+
Сделал запрос на вставку строки из одной таблицы в другую. Код: plaintext 1. Перед полем [Реф №] есть ключевое поле OperID (счетчик), в запросе оно никак не фигурирует. Однако, если в таблице TEMP_ORDER это поле NULL (в этой таблице поле неключевое), то при выполении запроса возникает ошибка: "....нарушение уникальности ключа..." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2004, 15:44 |
|
||
|
Запрос на вставку и значения NULL в ключевом поле
|
|||
|---|---|---|---|
|
#18+
Так добавь ключевое поле в выражение запроса! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2004, 16:01 |
|
||
|
Запрос на вставку и значения NULL в ключевом поле
|
|||
|---|---|---|---|
|
#18+
Так мне то этого не нужно... В таблице TEMP_ORDER это поле = NULL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2004, 16:05 |
|
||
|
Запрос на вставку и значения NULL в ключевом поле
|
|||
|---|---|---|---|
|
#18+
А может это проблема, которую никак не решить? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2004, 16:22 |
|
||
|
Запрос на вставку и значения NULL в ключевом поле
|
|||
|---|---|---|---|
|
#18+
кидать тут нечего .. запрос правильный, единственное - что за гадость с именами полей!!!! - так не надо делать скорее всего проблема в том что не выполняются какие - нибудь другие индексы (посмотри наверное кроме счетчика еще что есть и именно это и ругается) убери все индексы ограничения и посмотри что добавится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2004, 16:31 |
|
||
|
Запрос на вставку и значения NULL в ключевом поле
|
|||
|---|---|---|---|
|
#18+
убрал все ограничения Добавилось все нормально - повторений записей в бывших ключевых полях нет. То есть вроде бы должно работать, а не работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2004, 16:40 |
|
||
|
Запрос на вставку и значения NULL в ключевом поле
|
|||
|---|---|---|---|
|
#18+
а теперь добовляй ограничения по одному и смотри какие не выполняются ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2004, 16:45 |
|
||
|
Запрос на вставку и значения NULL в ключевом поле
|
|||
|---|---|---|---|
|
#18+
не выполняется на OperID ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2004, 16:46 |
|
||
|
Запрос на вставку и значения NULL в ключевом поле
|
|||
|---|---|---|---|
|
#18+
причем TEMP_ORDER.OperID = NULL, а если вписать в это поле любое число, то запрос выполняется нормально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2004, 16:48 |
|
||
|
Запрос на вставку и значения NULL в ключевом поле
|
|||
|---|---|---|---|
|
#18+
2 Vsevolod V Это точно счётчик?:) Т.е. сначала делаем его не счётчиком и вставляем, потом счётчиком и не вставляется? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2004, 16:48 |
|
||
|
Запрос на вставку и значения NULL в ключевом поле
|
|||
|---|---|---|---|
|
#18+
2 Vsevolod V Значит это полу не счётчик, но не допускает NULL, а вполне возможно допускает не уникальность. Пипец:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2004, 16:49 |
|
||
|
Запрос на вставку и значения NULL в ключевом поле
|
|||
|---|---|---|---|
|
#18+
что - то подозрительно легко у тебя в поле счетчика вставляются значения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2004, 16:51 |
|
||
|
Запрос на вставку и значения NULL в ключевом поле
|
|||
|---|---|---|---|
|
#18+
Мда.... Проблема была вот в чем: в таблице TEMP_ORDER это поле не было ключевым, но зато было индекисрованным и в нем недопускались совпадения. Сделал поле неиндексированным и все заработало. Почему так получается??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2004, 16:55 |
|
||
|
Запрос на вставку и значения NULL в ключевом поле
|
|||
|---|---|---|---|
|
#18+
врешь небось.... скорее всего поле OperID в таблице Orders было индксированым, но не автоинкрементным (счетчиком) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2004, 16:58 |
|
||
|
Запрос на вставку и значения NULL в ключевом поле
|
|||
|---|---|---|---|
|
#18+
Счетчик + Совпадения не допускаются - это 100%!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2004, 17:00 |
|
||
|
Запрос на вставку и значения NULL в ключевом поле
|
|||
|---|---|---|---|
|
#18+
Vsevolod V Перед полем [Реф №] есть ключевое поле OperID (счетчик) Блин, ну можно в таблице сразу посмотреть, что за поле, есть ли индекс - если да, то какой, а не мозги канифолить?:) Или в практику взять, как некоторые - сразу скрип таблицы требовать?:) А то потом, убрал ограничение - вставилось, выставил - не вставляется:) Вот потом и рождается мнение нехорошее про Аксес. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2004, 17:03 |
|
||
|
Запрос на вставку и значения NULL в ключевом поле
|
|||
|---|---|---|---|
|
#18+
Да блин! :(( Я ошибся - все равно не работает! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2004, 17:04 |
|
||
|
Запрос на вставку и значения NULL в ключевом поле
|
|||
|---|---|---|---|
|
#18+
Опишу проблему заново: Есть запрос Код: plaintext 1. В обеих таблицах перед полем [Реф №] есть поле OperID. В таблице Orders это поле ключевое (Совпадения не допускаются), счетчик В таблице TEMP_ORDER это поле не индексированное, числовое. Если TEMP_ORDER.OperID = Null, то запрос не выполняется ошибка: "....нарушение уникальности ключа..." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2004, 17:10 |
|
||
|
Запрос на вставку и значения NULL в ключевом поле
|
|||
|---|---|---|---|
|
#18+
Делаем таблицу T_AI - счётчик, текст, номер. Строим индекс: Да (Совпадения не допускаются). Ручками создаём 2 записи. Делаем запрос: Код: plaintext 1. 2. Получаем след. значение в поле счётчик и наши добавленные значения. Всё работает. Если в поле счётчик записывать уже имеющиеся значения, работать не будет. Так что проблема не в этом поле. Если индекс допускает совпадения, то будет всё так же - это счётчик потому что и мы туда ничего не заносим. Если допускает совпадения, то может таким запросом занести в поле счётчика данные, которые там уже есть: Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2004, 17:15 |
|
||
|
Запрос на вставку и значения NULL в ключевом поле
|
|||
|---|---|---|---|
|
#18+
У меня типовой пример тоже работает... А толку то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2004, 17:26 |
|
||
|
Запрос на вставку и значения NULL в ключевом поле
|
|||
|---|---|---|---|
|
#18+
А индексы ЕЩЁ на табличку есть? ПО нескольким полям, скажем??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2004, 17:27 |
|
||
|
Запрос на вставку и значения NULL в ключевом поле
|
|||
|---|---|---|---|
|
#18+
Есть еще индекс на поле [Реф №] в таблице Orders, но без него тоже не работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2004, 17:30 |
|
||
|
Запрос на вставку и значения NULL в ключевом поле
|
|||
|---|---|---|---|
|
#18+
Ну теперь вообще полный бред. Удалил я поле OperID из таблицы TEMP_ORDER, а ошибка осталась, только теперь по полю [Реф №] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2004, 17:45 |
|
||
|
Запрос на вставку и значения NULL в ключевом поле
|
|||
|---|---|---|---|
|
#18+
Значит по этому полю [Реф №] идёт совпалдение или NULL он может не пускать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2004, 17:47 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32423011&tid=1676448]: |
0ms |
get settings: |
7ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
171ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
71ms |
get tp. blocked users: |
2ms |
| others: | 221ms |
| total: | 508ms |

| 0 / 0 |
