|
|
|
защитить логику базы данных
|
|||
|---|---|---|---|
|
#18+
у меня возникла задача. в таблице где описываеться дерево по принципу ссылка на самого себя, нужно чтобы верхний узел ссылался не на НУЛЛ а на самого себя, но при автоинкрементном поле, это сделать невозможно, а временно нулл поставить нельзя, ибо если в это время заработает сборщик муссора, который будет именно по нулл искать мусор(удалёные узлы), он удалит. решил делать так Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. соответсвенно вопрос - мускл бросает два предупреждения, которые почему то не выводяться (show warnings) получу ли я то что хочу - никакой другой процес не сможет словить эту запись покритерию fk_idtable IS NULL между операциями вставки и апдейта. а также что я гарантировано всегда получу правильный ласт_инсерт_айди спрашиваю, так как помню точно, что гдето уже на форумах встречал ситуацию, когда этот самый ласт_инсерт_айди не выдавал то что нужно.(хотя может я путаю чтото) И главный вопрос. я же не могу подобный код зашить в тригер, а это очень важно для меня. поэтому я подумал, может сделать так. 1)создаём юзера в базе mysupersystem@ 2)создаём хранимку с подобным кодом, которая будет запускаться от имени этого юзера 3)и вопрос, как в тригере предупредить любую попытку вставки в обход даной хранимки (я исхожу из того, что без домена под этим юзером никто не сможет залогиниться, и не будут админы спецом чтото менять чтобы обойти защиту...речь идёт о нечаяных действиях по незнанию новых разработчиков, старых которые забыли что только так вставка) плюс в дальнейшем, будут ещо сопутсвующие действия, где уже просто через тригер, я не смогу, ибо вставка будет сопутсвующая в туже таблицу... оно выдаст ошибку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2014, 19:13:03 |
|
||
|
защитить логику базы данных
|
|||
|---|---|---|---|
|
#18+
alex564657498765453а также что я гарантировано всегда получу правильный ласт_инсерт_айдида. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2014, 19:21:01 |
|
||
|
защитить логику базы данных
|
|||
|---|---|---|---|
|
#18+
можно просто запретит пользоваться триггерами . но если разрешено использовать хранимки - нет гарантии, что не сделают не правильные действия в хранимках . нужно написать инструкцию, только кто её будет читать? а прочитав, вспонит .... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2014, 23:09:06 |
|
||
|
защитить логику базы данных
|
|||
|---|---|---|---|
|
#18+
вадяможно просто запретит пользоваться триггерами . но если разрешено использовать хранимки - нет гарантии, что не сделают не правильные действия в хранимках . нужно написать инструкцию, только кто её будет читать? а прочитав, вспонит .... 1на сервере разрешено всё что надо - полный дустоп, хоть оракал ставить и на него переходить речь шла просто о том, что я билинг навинтить хочу, но это не по типу, пощитать в суме сколько человек купил( типо селект сум() гроупбай) речь идёт о таблицах с сотнями милионов записей, и факт записи говорит о том что человек активно пользуеться услугой. и вот когда появляеться новая запись, === боллее интенсивное пользование услугой когда удалёться === уменьшаеться обьём пользования услугой. и вот мне нужно, чтобы через хранимки и только так была возможность вставки удаления. естественно тригером на обновление запрещу менять два критичных поля для билинга. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2014, 11:46:54 |
|
||
|
защитить логику базы данных
|
|||
|---|---|---|---|
|
#18+
alex564657498765453и вот мне нужно, чтобы через хранимки и только так была возможность вставки удаления.и что же вам мешает это реализовать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2014, 13:15:59 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38647377&tid=1834791]: |
0ms |
get settings: |
10ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
66ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 196ms |
| total: | 349ms |

| 0 / 0 |
