Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP: базы данных
Войти
Регистрация
Восстановить пароль
 
adelbaew2
1 / 1 / 1
Регистрация: 05.02.2013
Сообщений: 227
Записей в блоге: 1
1

Добавить строку в конец таблицы

24.10.2016, 11:09. Просмотров 332. Ответов 9
Метки нет (Все метки)

Предположим в таблице MySQl есть строки 1,2,3,4,5
если удалить строку 3 добавить новую строку, то получиться 1,2,6,4,5 а мне необходимо 1,2,3,4,5

И чтобы следующие добавленные строки шли как 6,7 а не 7,8 соответственно.

Или как можно оптимизировать таблицу - чтобы строки 1,2,6,4,5,7 превратились в 1,2,3,4,5,6
и потом следующее добавление шло под номером 7,8,9 а не 8,9,10 из-за удаления 3 строчки
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.10.2016, 11:09
Ответы с готовыми решениями:

Запись текста в конец файла в новую строку.
Доброго времени суток!!! Как записать в уже существующий файл с текстом новую...

Добавить массиву таблицы
Добрый день. Как к результату массива из-за добавить еще одно значение...

Добавить новые таблицы в Postfixadmin
Здравствуйте! Надо было написать дополнение к Postfixadmin, требующее...

Добавить строки в однотипные таблицы
Здравствуйте, есть простая по структуре БД(см. скриншот), хочу сделать...

Добавить/удалить строку в таблице БД
Нужно написать страничку на Php для удаления/добавления строки в Базу Данных.

9
СлаваВирус
469 / 397 / 169
Регистрация: 04.01.2013
Сообщений: 1,675
24.10.2016, 11:19 2
Автоинкремент на то и автоинкремент, Объясните цель и я уверен есть способ реализовать это в скрипте, не сбрасывая таблицу в БД
0
adelbaew2
1 / 1 / 1
Регистрация: 05.02.2013
Сообщений: 227
Записей в блоге: 1
24.10.2016, 11:21  [ТС] 3
Отправляю формой данные в таблицу, иногда приходится удалять некоторые строки,
после чего - поиск по таблице нужных данных не работает - поиску по таблице необходимо,
чтобы автоинкремент был 1,2,3,4,5,6 - а если 1,2,6,3,4 - он уже не ищет после 2.

В интернете, нашел такой вариант, как Вы думаете поможет?

1. Убиваем инкремент.
2. Убиваем первичный ключ.
3. Обнуляем значения полей.
4. Устанавливаем значение инкремента.
5. Включаем инкремент.

alter table ИМЯ_ТАБЛИЦЫ modify ИМЯ_ПОЛЯ int(11);
alter table ИМЯ_ТАБЛИЦЫ drop primary key;
update ИМЯ_ТАБЛИЦЫ set ИМЯ_ПОЛЯ=0;
alter table ИМЯ_ТАБЛИЦЫ auto_increment = 0;
alter table ИМЯ_ТАБЛИЦЫ modify ИМЯ_ПОЛЯ int(11) not null auto_increment primary key;
0
СлаваВирус
469 / 397 / 169
Регистрация: 04.01.2013
Сообщений: 1,675
24.10.2016, 11:24 4
А изменить алгоритм поиска не пробовали? чтобы не зависеть от автоинкремента))) Можно конечно и сбрасывать значения, но я на 99 процентов уверен, что этот костыль вам на самом деле не нужен
0
Grossmeister
Модератор
3425 / 2474 / 425
Регистрация: 21.01.2011
Сообщений: 10,869
24.10.2016, 11:31 5
Цитата Сообщение от adelbaew2 Посмотреть сообщение
В интернете, нашел такой вариант, как Вы думаете поможет
Такой вариант допустим только при однопользовательской работе. Да еще если эта таблица не связана через FK с другими. На практике такой фигней люди не занимаются.
0
adelbaew2
1 / 1 / 1
Регистрация: 05.02.2013
Сообщений: 227
Записей в блоге: 1
24.10.2016, 11:35  [ТС] 6
Привожу алгоритм поиска:

PHP
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
$sql = 'select * from users where
 
(dolgota >= :min0 and dolgota <= :max0 and sirota >= :min1 and sirota <= :max1)
or
(item0 >= :min0 and item0 <= :max0 and ritem0 >= :min1 and ritem0 <= :max1)
or
(item2 >= :min0 and item2 <= :max0 and ritem2 >= :min1 and ritem2 <= :max1)
or
(item4 >= :min0 and item4 <= :max0 and ritem4 >= :min1 and ritem4 <= :max1)
or
(item6 >= :min0 and item6 <= :max0 and ritem6 >= :min1 and ritem6 <= :max1)
or
(item8 >= :min0 and item8 <= :max0 and ritem8 >= :min1 and ritem8 <= :max1)
or
(item8 >= :min0 and item8 <= :max0 and ritem8 >= :min1 and ritem8 <= :max1)
or
(item10 >= :min0 and item10 <= :max0 and ritem10 >= :min1 and ritem10 <= :max1)
or
(item12 >= :min0 and item12 <= :max0 and ritem12 >= :min1 and ritem12 <= :max1)
or
(item14 >= :min0 and item14 <= :max0 and ritem14 >= :min1 and ritem14 <= :max1)
or
(item16 >= :min0 and item16 <= :max0 and ritem16 >= :min1 and ritem16 <= :max1)
or
(item18 >= :min0 and item18 <= :max0 and ritem18 >= :min1 and ritem18 <= :max1)
or
(item20 >= :min0 and item20 <= :max0 and ritem20 >= :min1 and ritem20 <= :max1)
or
(eitem0 >= :min0 and eitem0 <= :max0 and eritem0 >= :min1 and eritem0 <= :max1)
or
(eitem2 >= :min0 and eitem2 <= :max0 and eritem2 >= :min1 and eritem2 <= :max1)
or
(eitem4 >= :min0 and eitem4 <= :max0 and eritem4 >= :min1 and eritem4 <= :max1)
or
(eitem6 >= :min0 and eitem6 <= :max0 and eritem6 >= :min1 and eritem6 <= :max1)
or
(eitem8 >= :min0 and eitem8 <= :max0 and eritem8 >= :min1 and eritem8 <= :max1)
or
(eitem8 >= :min0 and eitem8 <= :max0 and eritem8 >= :min1 and eritem8 <= :max1)
or
(eitem10 >= :min0 and eitem10 <= :max0 and eritem10 >= :min1 and eritem10 <= :max1)
or
(eitem12 >= :min0 and eitem12 <= :max0 and eritem12 >= :min1 and eritem12 <= :max1)
or
(eitem14 >= :min0 and eitem14 <= :max0 and eritem14 >= :min1 and eritem14 <= :max1)
or
(eitem16 >= :min0 and eitem16 <= :max0 and eritem16 >= :min1 and eritem16 <= :max1)
or
(eitem18 >= :min0 and eitem18 <= :max0 and eritem18 >= :min1 and eritem18 <= :max1)
or
(eitem20 >= :min0 and eitem20 <= :max0 and eritem20 >= :min1 and eritem20 <= :max1)';
 
 
$select = $pdo->prepare($sql);
 
$radius = ($_POST[ttts])*0.000009;
 
$ras1 = ($_POST[MAVR])+$radius;
$ras2 = ($_POST[MAVR])-$radius;
$ras3 = ($_POST[MAVR1])+$radius;
$ras4 = ($_POST[MAVR1])-$radius;
 
$select->execute([
    ':min0' => $ras2,
    ':max0' => $ras1,
    ':min1' => $ras4,
    ':max1' => $ras3,
]);
 
 
$result = $select->fetchAll(\PDO::FETCH_ASSOC);
 
// 1 предприятие близкое к ОПО
 
$predpros = $result[0]['first_name'];
$numberos = $result[0]['last_name'];
$naimos = $result[0]['last_name2'];
$dolas = $result[0]['dolgota'];
$sirotas = $result[0]['sirota'];
$obvals = $result[0]['obval'];
$h1s = $result[0]['h1'];
$t1s = $result[0]['t1'];
$p1s = $result[0]['p1'];
$h2s = $result[0]['h2'];
$materials = $result[0]['material'];
$minuts = $result[0]['minut'];
$raspols = $result[0]['raspol'];
0
СлаваВирус
469 / 397 / 169
Регистрация: 04.01.2013
Сообщений: 1,675
24.10.2016, 11:47 7
Цитата Сообщение от adelbaew2 Посмотреть сообщение
Привожу алгоритм поиска:
Пробежался глазами по поиску...в каком конкретно месте Вам мешает пробел в идентификаторах (к примеру: 1, 2, 3, 6)? Или проблема в нумерации при выводе всего лишь?
0
adelbaew2
1 / 1 / 1
Регистрация: 05.02.2013
Сообщений: 227
Записей в блоге: 1
24.10.2016, 11:52  [ТС] 8
Скорей всего в выводе - не выводит же те, значения, которые попадают под поиск!
0
СлаваВирус
469 / 397 / 169
Регистрация: 04.01.2013
Сообщений: 1,675
24.10.2016, 11:55 9
Как называется столбец с автоинкрементом? Учитывается ли он в запросе поиска? Уверены ли, что под поисковый запрос попадет хотя бы одна строка в таблице?
0
adelbaew2
1 / 1 / 1
Регистрация: 05.02.2013
Сообщений: 227
Записей в блоге: 1
24.10.2016, 12:10  [ТС] 10
Проблема решена, сейчас все нормально ищет и выводит - видимо вчера, где-то была ошибка,
после чего я помню, что переделывал запрос, видимо и это автоматически правильно стало.
Всех благодарю
0
24.10.2016, 12:10
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.10.2016, 12:10

Как добавить произвольную дату во все строки таблицы
есть таблица table. в ней поле date. в таблице 1500 строк. нужно в поле date...

Взять информацию из одной таблицы и добавить её в другую таблицу
Здравствуйте! Скажите пожалуйста. Пользователь заходить на страницу &quot;1&quot;...

обновить строку таблицы....
пишу движок для тестов... у меня при входе у сам етап тестированя с формы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru