Size: a a a

2020 April 11

R

RA-TA-TATA in sql_ninja
всех людей на таком велике я видел ТОЛЬКО с колонкой
источник

G

Gopneg in sql_ninja
RA-TA-TATA
всех людей на таком велике я видел ТОЛЬКО с колонкой
хуй знает, я не видел
источник

L

Les in sql_ninja
Переслано от Les
источник
2020 April 12

IM

Igor Moroz in sql_ninja
не могу поменять поле store_id c primary_key  в запросе:
UPDATE it_count 
set store_id = '13'
where (it_id = (SELECT IT_ID FROM IT
where orig_id = '16881') or
it_id = (SELECT IT_ID FROM IT
where orig_id = '12556')) and
store_id = '1'

бд отдает ошибку "Duplicate entry", гугл предлагает решать проблему через insert into, но мне необходимо не добавлять запись и изменить текущую... подскажите пжлста, что я делаю не так?)
источник

G

G0dless in sql_ninja
А закрывающая скобка не лишняя/рано после 16881?
источник

IM

Igor Moroz in sql_ninja
G0dless
А закрывающая скобка не лишняя/рано после 16881?
не, так вроде норм)
источник

G

G0dless in sql_ninja
а не, туплю. Я б использовал конструкции where STORE-ID=1 and ( itid in (select ... where xxx in (...))) попроще бы было читать
источник

IM

Igor Moroz in sql_ninja
UPDATE it_count 
set store_id = '13'
where store_id = '1'

После того как запись со store_id=1 будет перезаписана на stotr_id = 13(записи с таким store_id в базе нет) бд ругается на такую же ошибку. не понимать, о каком дубликате идет речь...
источник

IM

Igor Moroz in sql_ninja
при чем с обычным полем все работает
источник

IM

Igor Moroz in sql_ninja
именно с primary_key такая ерунда
источник

DN

Denis Novickiy in sql_ninja
Igor Moroz
не могу поменять поле store_id c primary_key  в запросе:
UPDATE it_count 
set store_id = '13'
where (it_id = (SELECT IT_ID FROM IT
where orig_id = '16881') or
it_id = (SELECT IT_ID FROM IT
where orig_id = '12556')) and
store_id = '1'

бд отдает ошибку "Duplicate entry", гугл предлагает решать проблему через insert into, но мне необходимо не добавлять запись и изменить текущую... подскажите пжлста, что я делаю не так?)
если сделать селект - сколько записей попадает под обновление?
источник

G

G0dless in sql_ninja
А ПК по одному столбцу?
источник

IM

Igor Moroz in sql_ninja
оч много, там записи есть)
источник

DN

Denis Novickiy in sql_ninja
Igor Moroz
оч много, там записи есть)
store_id - это PK?
источник

IM

Igor Moroz in sql_ninja
Denis Novickiy
store_id - это PK?
+
источник

DN

Denis Novickiy in sql_ninja
это и есть ответ на вопрос
источник

IM

Igor Moroz in sql_ninja
ну так, я выше писал, что это pk, твой ответ на мой ответ на мой вопрос, значит что не получится его апдейтнуть?
источник

DN

Denis Novickiy in sql_ninja
Igor Moroz
ну так, я выше писал, что это pk, твой ответ на мой ответ на мой вопрос, значит что не получится его апдейтнуть?
если хочешь хочешь обновить больше одной строки на одинаковое значение, то это не согласуется с логикой PK и сделать не получится.
или обновить только 1 строку, или убрать PK
источник

IM

Igor Moroz in sql_ninja
спасибо большое!) буду пробовать)
источник

IM

Igor Moroz in sql_ninja
запись одна, ошибка та же) может я не так понял полученную информацию)
set store_id = '13'
where it_id = (SELECT IT_ID FROM IT
where orig_id = '16881') and store_id = 1
источник