|
|
|
Пропуски в первичном ключе при IGNORE.
|
|||
|---|---|---|---|
|
#18+
Да я ничего и не отстаиваю, я просто пытаюсь понять, что мне написали. Я ещё на том уровне, где лучше словами писать, а не «session — begin». Мне и самому смешно уже, но только от того, что всё в какое-то недоразумение заходит. Короче, выше я привёл своё решение через дополнительнй проверочный запрос — имеет оно право на жизнь? Лучше можно сделать? Вот и всё… ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2014, 16:23:11 |
|
||
|
Пропуски в первичном ключе при IGNORE.
|
|||
|---|---|---|---|
|
#18+
andrejkКороче, выше я привёл своё решение через дополнительнй проверочный запрос — имеет оно право на жизнь? Лучше можно сделать? Вот и всё…Вариант лучше уже был выше - 16382506 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2014, 16:39:02 |
|
||
|
Пропуски в первичном ключе при IGNORE.
|
|||
|---|---|---|---|
|
#18+
andrejkРешил проблему через дополнительный проверочный запрос. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. надо делать не insert... values а insert ... select ... where not exists ( select... where запись с этим ключем ) третье уже в теме намекали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2014, 14:14:44 |
|
||
|
Пропуски в первичном ключе при IGNORE.
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Ту т получается риск сбоя, если одно и то же отсутствующее слово будет проверяться одновременно двумя пользователями. Я не знаю суть действия БД Мускуль, поэтому хочу спросить: если переписать всё это в один запрос, то вероятность сбоя останется или нет? И помогите, пожалуйста, составить запрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2014, 04:40:45 |
|
||
|
Пропуски в первичном ключе при IGNORE.
|
|||
|---|---|---|---|
|
#18+
andrejk, insert ignore ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2014, 05:25:33 |
|
||
|
Пропуски в первичном ключе при IGNORE.
|
|||
|---|---|---|---|
|
#18+
tanglirandrejk, insert ignore Короче, с чего начал, к тому и пришёл? ТОлько через игнорирование? И иначе никак? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2014, 06:18:30 |
|
||
|
Пропуски в первичном ключе при IGNORE.
|
|||
|---|---|---|---|
|
#18+
andrejk, ну а как вы себе это представляете? можно, конечно, использовать lock table, но тогда зачем вам вообще мускль, пишите сразу на foxpro 2.0 :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2014, 06:22:16 |
|
||
|
Пропуски в первичном ключе при IGNORE.
|
|||
|---|---|---|---|
|
#18+
tanglirandrejk, ну а как вы себе это представляете? можно, конечно, использовать lock table, но тогда зачем вам вообще мускль, пишите сразу на foxpro 2.0 :) что вы имеете ввиду? я не знаю, чем foxpro 2.0 отличается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2014, 06:37:45 |
|
||
|
Пропуски в первичном ключе при IGNORE.
|
|||
|---|---|---|---|
|
#18+
Но ведь повышение пк из-за каждого запроса это же расход пк вхолостую. Или дойдя до своего предела, он начнёт незанятые словами пк занимать по второму кругу? Если так, то тогда нормально, слов не добавиться больше, чем int. Можете эту тонкость пояснить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2014, 06:52:52 |
|
||
|
Пропуски в первичном ключе при IGNORE.
|
|||
|---|---|---|---|
|
#18+
andrejkИли дойдя до своего предела, он начнёт незанятые словами пк занимать по второму кругу? 2634217 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2014, 07:32:38 |
|
||
|
Пропуски в первичном ключе при IGNORE.
|
|||
|---|---|---|---|
|
#18+
andrejkНо ведь повышение пк из-за каждого запроса это же расход пк вхолостую. Или дойдя до своего предела, он начнёт незанятые словами пк занимать по второму кругу? Если так, то тогда нормально, слов не добавиться больше, чем int. Можете эту тонкость пояснить? Значит, меньше слушайте спецов по переменным, а больше - спецов по sql. Я вам, тем более, уже писал, как именно надо составить запрос. Допустим, tbl_ts - таблица, куда мне надо вставить данные, при этом проверив, что таких id в ней нет. ts_new - таблица, в которой новые данные лежат. Код: sql 1. 2. Всё. Один запрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2014, 09:42:19 |
|
||
|
Пропуски в первичном ключе при IGNORE.
|
|||
|---|---|---|---|
|
#18+
Я прошу прощения, но как ваш вариант прикрутить к моей задаче, у меня, ведь, нет никаких других таблиц, только одна, в которую постоянно вставляют слова пользователи? У меня не с чем сравнивать id. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2014, 13:36:37 |
|
||
|
Пропуски в первичном ключе при IGNORE.
|
|||
|---|---|---|---|
|
#18+
andrejk, Надо просто подумать. It's easy. Ну, нет id - ничего страшного. Слова-то есть? Код: sql 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2014, 13:39:59 |
|
||
|
Пропуски в первичном ключе при IGNORE.
|
|||
|---|---|---|---|
|
#18+
Но слова-то пользователи сами пишут, откуда их select делать? insert tbl_ts(word) — пытаемся вставить слово от пользователя в таблицу, это понятно… select tn.word from tbl_ts_new tn — а это не понятно, откуда мы берём слово?… Сто из моего примера выступает в роли tbl_ts_new? where tn.word not in (select word from tbl_ts); — …, всё, заглох… Пожалуйста, перепешите мой изврат Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. используя мои названия. Мне так легче понять будет логику. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2014, 13:58:57 |
|
||
|
Пропуски в первичном ключе при IGNORE.
|
|||
|---|---|---|---|
|
#18+
andrejk Код: sql 1. Не буду переписывать. Я вообще не сторонник давать рыбу нахаляву, а удочку я вам дал. Слова у вас лежат в massiv_itog - думайте, как этот массив целиком подствить вместо tbl_ts_new. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2014, 14:15:36 |
|
||
|
Пропуски в первичном ключе при IGNORE.
|
|||
|---|---|---|---|
|
#18+
А слона-то мы и не заметили))) Я б не догадался массив, как новую таблицу рассмотреть… По крайней мене до пенсии) Так, я понял логику: вставить в таблицу из массива только те слова, которые получатся, если выбрать из массива только те слова, которых в этой таблице нет. Если дословно… Правильно? Но, блин, я, видимо, не вижу очередного слона — как массив прикрутить к запросу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2014, 14:33:31 |
|
||
|
Пропуски в первичном ключе при IGNORE.
|
|||
|---|---|---|---|
|
#18+
andrejk, открой для себя хранимые процедуры если боишься переполнения bigint но это изврат ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2014, 14:57:52 |
|
||
|
Пропуски в первичном ключе при IGNORE.
|
|||
|---|---|---|---|
|
#18+
Usersandrejk Код: sql 1. Не буду переписывать. Я вообще не сторонник давать рыбу нахаляву, а удочку я вам дал. Слова у вас лежат в massiv_itog - думайте, как этот массив целиком подствить вместо tbl_ts_new. Так, что ли? Код: sql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2014, 15:10:24 |
|
||
|
Пропуски в первичном ключе при IGNORE.
|
|||
|---|---|---|---|
|
#18+
вадяandrejk, открой для себя хранимые процедуры если боишься переполнения bigint но это изврат Как вы они мне помогут, чтоб я знал, с какой стороны их открывать для экономии времени? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2014, 15:11:58 |
|
||
|
Пропуски в первичном ключе при IGNORE.
|
|||
|---|---|---|---|
|
#18+
andrejk, не так. Код: sql 1. 2. 3. 4. tn - это название выборки, что следует вот из этого: from (SELECT `s` FROM `ts` WHERE `s` = '".$massiv_itog[$i]."') tn тогда выходит следующий запрос: select tn from tn - это вернет ошибку. Поля tn у вас нет. Далее потом: WHERE `s` = - в случае массива надо менять на Where S in Далее еще более потом: where tn not in - это вернет ошибку. Поля tn у вас нет. когда я пишу Код: sql 1. - там tn является алисом таблицы. Алиас помогает написать запрос короче и гибче его менять. Если бы алиса не было, такая запись выглядела бы так: Код: sql 1. Все, это последняя моя запись в этой теме. Что и как делать - понятно, осталось только подумать, этого за вас никто не сделает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2014, 16:15:38 |
|
||
|
Пропуски в первичном ключе при IGNORE.
|
|||
|---|---|---|---|
|
#18+
UsersВсе, это последняя моя запись в этой теме. Что и как делать - понятно, осталось только подумать, этого за вас никто не сделает. Подумать — это хорошо, когда есть чем оперировать, например знанием забытых особенностей и возможностей синтаксиса. Мне оперировать нечем, я вообще не программист и не студент, я делаю себе маленький инструмент в виде сайта и познакомился пока только с эллементарным синтаксисом. Я начал с нуля недели три назад: PHP + MySQL. Можно, конечно, потратить два года на изучение всех тонкостей, только мне нужно сейчас и не все тонкости, а пока только те, что необходимы. Вот сейчас я не знаю как обращаться с массивами в запросах, я вообще не знаю как это называется, чтобы поискать в интернете, а вы мне пишете отрывки синтаксиса, буд-то мне его вспомнить только осталось. Я сейчас только прикоснулся ко всему этому, я обращаю внимание даже на регистр в том, что вы мне пишете — сложновато получается, когда все пишут по-разному. Спасибо, конечно, за ответ, но помощь почему-то превращается в воспитание. Почему все думают, что человек, который просит пару строчек кода, обязательно ищет халяву? Я учусь по вашему коду, как если бы учился по другому коду в другом месте, в книгах и т. д. Как учиться не читая чужие коды? Если сократить всё «уравнение», то получается, что всё выглядит так: мы тебе ничего не напишем, ищи сам, где уже написали. И в чём разница? И так и так буду по написанному кем-то коду учиться. Я не знаю особенностей синтаксиса, но по примеру могу переделать под свою задачу. Я понял логику вашего примера, я знаю, что tn это псевдоним, но мне не понятно, как там массив учесть… Подозреваю, что надо что-то дописать к tn, но что? Где почитать про то, как совместить запрос с массивом, как вообще это называется? Это хоть можете подсказать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2014, 16:52:24 |
|
||
|
Пропуски в первичном ключе при IGNORE.
|
|||
|---|---|---|---|
|
#18+
Короче, сделал эксперимент — добавил вручную максимальное значение ПК и потом добавил ещё одну запись. БД стала занимать пустые места сначала отсчёта, так что нахрен все эти танцы с бубном, буду через IGNORE добавлять. Вопрос решён, тема закрыта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2014, 23:05:06 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38714190&tid=1834402]: |
0ms |
get settings: |
10ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
102ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 240ms |
| total: | 421ms |

| 0 / 0 |
