|
запрос sql ошибка при вставке данных
|
|||
---|---|---|---|
#18+
Добрый день. Подскажите пожалуйста как можно устранить ошибку. В sql не разбираюсь. Оставили выполнить небольшой скрипт, копирование данных из одной БД в другую, таблицы идентичны. Всего 3 поля. begin tran INSERT INTO [nprod].[dbo].[ES] ([Id] ,[WellId] ,[BringDat]) select * from [wprod].[dbo].[ES] a where not exists ( select * from [Nprod].[dbo].[ES] b where a.id = b.id and a.[WellId] = b.[WellId] and a.[BringDat] = b.[BringDat] ) Выдает ошибку насколько понял где-то дублируется данные. Как ее устранить? Violation of PRIMARY KEY constraint 'PK_ES'. Cannot insert duplicate key in object 'dbo.ES'. The duplicate key value is (60046). The statement has been terminated. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2020, 08:35 |
|
запрос sql ошибка при вставке данных
|
|||
---|---|---|---|
#18+
alexzxc, ну попробуйте как-то так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
авторCannot insert duplicate key in object 'dbo.ES'. The duplicate key value is (60046). Что вернет запрос Код: sql 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2020, 09:21 |
|
запрос sql ошибка при вставке данных
|
|||
---|---|---|---|
#18+
[quot londinium#22110301]alexzxc, ну попробуйте как-то так: ошибка Msg 102, Level 15, State 1, Line 10 Incorrect syntax near 'BringDat'. Что вернет запрос вернул следующее ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2020, 09:33 |
|
запрос sql ошибка при вставке данных
|
|||
---|---|---|---|
#18+
alexzxc, проверьте поля на null: null = null => false -- not exists не срабатывает. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2020, 10:18 |
|
запрос sql ошибка при вставке данных
|
|||
---|---|---|---|
#18+
alexzxc Выдает ошибку насколько понял где-то дублируется данные. Как ее устранить? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2020, 10:21 |
|
запрос sql ошибка при вставке данных
|
|||
---|---|---|---|
#18+
a_voronin null = null => false ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2020, 10:24 |
|
запрос sql ошибка при вставке данных
|
|||
---|---|---|---|
#18+
a_voronin, а как это сделать? я полный профан в этом( ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2020, 12:03 |
|
запрос sql ошибка при вставке данных
|
|||
---|---|---|---|
#18+
alexeyvg alexzxc Выдает ошибку насколько понял где-то дублируется данные. Как ее устранить? мне сказали что этим скриптом пользуется уже 2 года, и он не переписывает все данные, а добавляет которых нехватает. а мне вот повезло с ним, не срабатывает. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2020, 12:05 |
|
запрос sql ошибка при вставке данных
|
|||
---|---|---|---|
#18+
alexzxc, скорее всего, ошибка в исходных данных. Есть строки с одинаковым ID. Если таких нет, то, возможно, Вы загружаете второй раз то, что уже было загружено. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2020, 15:21 |
|
запрос sql ошибка при вставке данных
|
|||
---|---|---|---|
#18+
Владислав Колосов alexzxc, скорее всего, ошибка в исходных данных. Есть строки с одинаковым ID. Если таких нет, то, возможно, Вы загружаете второй раз то, что уже было загружено. запрос select * from [wprod].[dbo].[ES] where [Id]=60046 order by BringDat desc select * from [nprod].[dbo].[ES] where [Id]=60046 order by BringDat desc выдает результат, что записи одинаковые, но опять же не понимаю, таблицы должны быть полностью идентичны, а ошибка только на это id ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2020, 16:03 |
|
запрос sql ошибка при вставке данных
|
|||
---|---|---|---|
#18+
alexzxc, попытка вставки происходит потому, что колонка bringdat имеет значение NULL. Можно изменить часть запроса на что-то вроде Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2020, 16:17 |
|
запрос sql ошибка при вставке данных
|
|||
---|---|---|---|
#18+
alexzxc, у Вас там BringDate равен NULL попробуйте как-то так: Код: sql 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2020, 16:18 |
|
запрос sql ошибка при вставке данных
|
|||
---|---|---|---|
#18+
Владислав Колосов alexzxc, попытка вставки происходит потому, что колонка bringdat имеет значение NULL. Можно изменить часть запроса на что-то вроде Код: sql 1.
обычная выборка 1000 записей показывает что null есть в обоих таблицах, на скрине из второй не видно, но есть такие записи ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2020, 16:32 |
|
запрос sql ошибка при вставке данных
|
|||
---|---|---|---|
#18+
londinium alexzxc, у Вас там BringDate равен NULL попробуйте как-то так: Код: sql 1. 2. 3. 4. 5. 6. 7.
пока не понял как в форуме правильно цитировать сообщения выше скрин из ондой таблицы, тут из другой, null везде есть ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2020, 16:34 |
|
запрос sql ошибка при вставке данных
|
|||
---|---|---|---|
#18+
alexzxc а ошибка только на это id У вас сам принцип проверки неверный, как я уже вам написал выше; не слушайте про null-ы и дублирование записей, у вас ошибка совсем не в этом. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2020, 16:55 |
|
запрос sql ошибка при вставке данных
|
|||
---|---|---|---|
#18+
alexzxc, Если у вас на таблице имеется первичный ключ - я так понимаю, это столбец Id, да? - то все остальные столбцы можно просто выбросить из условий сравнения в NOT EXISTS, они там только воду мутят: Код: sql 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2020, 18:49 |
|
|
start [/forum/topic.php?fid=46&fpage=63&tid=1686266]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
31ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 135ms |
0 / 0 |