powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / защитить логику базы данных
6 сообщений из 6, страница 1 из 1
защитить логику базы данных
    #38646914
alex564657498765453
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у меня возникла задача.

в таблице где описываеться дерево по принципу ссылка на самого себя, нужно чтобы верхний узел ссылался не на НУЛЛ а на самого себя, но при автоинкрементном поле, это сделать невозможно, а временно нулл поставить нельзя, ибо если в это время заработает сборщик муссора, который будет именно по нулл искать мусор(удалёные узлы), он удалит.

решил делать так
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
start transaction;

insert into table (a,b,c) values ('a','b','b');

select last_insert_id() into @idtable;

update table set fk_idtable = @idtable where idtable = @idtable;

commit;



соответсвенно вопрос - мускл бросает два предупреждения, которые почему то не выводяться (show warnings)

получу ли я то что хочу - никакой другой процес не сможет словить эту запись покритерию
fk_idtable IS NULL между операциями вставки и апдейта.
а также что я гарантировано всегда получу правильный ласт_инсерт_айди

спрашиваю, так как помню точно, что гдето уже на форумах встречал ситуацию, когда этот самый ласт_инсерт_айди не выдавал то что нужно.(хотя может я путаю чтото)

И главный вопрос.
я же не могу подобный код зашить в тригер, а это очень важно для меня.

поэтому я подумал, может сделать так.

1)создаём юзера в базе mysupersystem@
2)создаём хранимку с подобным кодом, которая будет запускаться от имени этого юзера
3)и вопрос, как в тригере предупредить любую попытку вставки в обход даной хранимки
(я исхожу из того, что без домена под этим юзером никто не сможет залогиниться, и не будут админы спецом чтото менять чтобы обойти защиту...речь идёт о нечаяных действиях по незнанию новых разработчиков, старых которые забыли что только так вставка)

плюс в дальнейшем, будут ещо сопутсвующие действия, где уже просто через тригер, я не смогу, ибо вставка будет сопутсвующая в туже таблицу... оно выдаст ошибку
...
Рейтинг: 0 / 0
защитить логику базы данных
    #38646925
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex564657498765453а также что я гарантировано всегда получу правильный ласт_инсерт_айдида.
...
Рейтинг: 0 / 0
защитить логику базы данных
    #38647065
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно просто запретит пользоваться триггерами .
но если разрешено использовать хранимки - нет гарантии, что не сделают не правильные действия в хранимках . нужно написать инструкцию, только кто её будет читать? а прочитав, вспонит ....
...
Рейтинг: 0 / 0
защитить логику базы данных
    #38647377
alex564657498765453
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяможно просто запретит пользоваться триггерами .
но если разрешено использовать хранимки - нет гарантии, что не сделают не правильные действия в хранимках . нужно написать инструкцию, только кто её будет читать? а прочитав, вспонит ....

1на сервере разрешено всё что надо - полный дустоп, хоть оракал ставить и на него переходить

речь шла просто о том, что я билинг навинтить хочу, но это не по типу, пощитать в суме сколько человек купил( типо селект сум() гроупбай)

речь идёт о таблицах с сотнями милионов записей, и факт записи говорит о том что человек активно пользуеться услугой.

и вот когда появляеться новая запись, === боллее интенсивное пользование услугой
когда удалёться === уменьшаеться обьём пользования услугой.

и вот мне нужно, чтобы через хранимки и только так была возможность вставки удаления.
естественно тригером на обновление запрещу менять два критичных поля для билинга.
...
Рейтинг: 0 / 0
защитить логику базы данных
    #38647502
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex564657498765453и вот мне нужно, чтобы через хранимки и только так была возможность вставки удаления.и что же вам мешает это реализовать?
...
Рейтинг: 0 / 0
защитить логику базы данных
    #38647545
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex564657498765453на сервере разрешено всё что надо - полный дустоп, хоть оракал ставить и на него переходить

смотрю, вы все время из mysql хотите оракл сделать. ну так и сделайте!
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / защитить логику базы данных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]