#1  02.05.2013 17:02:47

АКМ16
Участник
Откуда: Донецк
Зарегистрирован: 15.02.2008
Сообщений: 1649
Chrome 26.0
Рейтинг :   [+ 82/ -3 ]
Профиль  Вебсайт

Help! MySQL multi line INSERT with UNIQUE value

Я знаю среди форумчан есть программисты.
Нужна помощь по SQL синтаксису (БД: MySQL).
Обращаюсь сюда потому что думаю может у кого-то уже есть решение этой задачи (сам тем временем ищу по Гуглу)

ЗАДАЧА

Первоначальный вид SQL:

Код:

 1: INSERT INTO table (val1, val2, val3, hash) VALUES
 2:   ('x', 'y', 'z', 'somehash'),
 3:   ('x', 'y', 'z', 'somehash'),
 4:   ('x', 'y', 'z', 'somehash'),
 5:   ('x', 'y', 'z', 'somehash'),
 6:   ('x', 'y', 'z', 'somehash'),
 7:   ('x', 'y', 'z', 'somehash'),
 8:   ('x', 'y', 'z', 'somehash'),
 9:   ('x', 'y', 'z', 'somehash'),
10:   ... (и т.д. за одно обращение более 200 строк)

Столбец hash является уникальным для каждой строки.

В идеале мне не важно будут ли добавлены строки где hash совпадает, т.к. какие бы данные там не были они не нужны если уже были введены ранее. Если сначала собрать уже имеющиеся данные с БД и проверять с использованием массива, то просто не хватит оперативной памяти (также это доп. нагрузка).

Можете ли предложить какую нибудь SQL конструкцию или идею по этому поводу?

Отредактированно АКМ16 (02.05.2013 17:03:47)


Лучше играть плохо, но без читов, чем хорошо, но с ними ©
Одни способны создать, другие способны купить... Первых можно уважать, вторых можно чморить...©
:shok: Моя Статистика Ужасна :shok:

Отсутствует

 

#2  02.05.2013 17:10:26

Px
☆Tester x64☆
Откуда: Вишнёвый
Зарегистрирован: 27.04.2006
Сообщений: 19029
SeaMonkey 2.17
Рейтинг :   [+ 565/ -51 ]
Профиль  Вебсайт

Re: Help! MySQL multi line INSERT with UNIQUE value

2 раза прочёл, но задача всё равно осталась неясной. Тем не менее - http://dev.mysql.com/doc/refman/5.7/en/ … icate.html



Я поклоняюсь Святой Троице: Светлому, Тёмному и Нефильтрованному©

Отсутствует

 

#3  02.05.2013 17:58:57

АКМ16
Участник
Откуда: Донецк
Зарегистрирован: 15.02.2008
Сообщений: 1649
Chrome 26.0
Рейтинг :   [+ 82/ -3 ]
Профиль  Вебсайт

Re: Help! MySQL multi line INSERT with UNIQUE value

Спасибо за идейку, разобрался :yes:
Как раз по ссылке прошел и взял оттуда пару вариантов прогуглил и на StackOverflow нашел выход из данной ситуации.

З.Ы. Задача была в том чтобы за один запрос добавить много строк сразу с учетом что в каждой строке есть одно уникальное значение.
В простом выражении типа:
INSERT INTO table (val1,val2,val3,hash) VALUES ('x','y','z','somehash'),('x','y','z','somehash'),('x','y','z','somehash');

При встрече с дубликатом, весь запрос падает и даже не дублирующиеся данные не попадают в БД.
Смысл был в том чтобы плюнуть на дубликаты и получить (добавить) только строки с уникальной ячейкой hash

Отредактированно АКМ16 (02.05.2013 18:00:14)



Лучше играть плохо, но без читов, чем хорошо, но с ними ©
Одни способны создать, другие способны купить... Первых можно уважать, вторых можно чморить...©
:shok: Моя Статистика Ужасна :shok:

Отсутствует

 

Board footer

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson

[ Generated in 0.005 seconds, 10 queries executed ]