10 секунд бұрын болған жерді таңдаңыз

example кестесіне бірнеше пішінді жіберуді болдырмау үшін 10 секунд бұрын болатын мысал кестесіндегі соңғы деректер бөлігін таңдағым келеді. Егер қайтарылған нәтиже 1-ге тең болса, онда олар пішінді жібере алмайды. Егер қайтарылған нәтиже 0 болса, онда олар пішінді жібере алады.

Мүмкін бе, егер бірнеше нысандарды жіберуге бұғаттаудың басқа әдісін ұсынбасаңыз. Мен cookie әдісін пайдаланғым келмейді, себебі пайдаланушы кукилерді оңай бұғаттауы мүмкін.

кесте мысалы

|-----------------------------|
|user_id | content | date_time|
|-----------------------------|
|1       | content | something|
|-----------------------------|
|2       | test    | something|
 -----------------------------|
|3       | test    | something|
 ------------------------------

Спасибо :)

0
Бұл сіздің нысаныңызды бөгеу себептеріңізге байланысты, бірақ нысанды қайта-қайта беру үшін ерекше ынталандыру болмаса, сіз кукилерге өте сенімді бола аласыз: адамдар шынымен бұларды бұғаттайды емес. Яғни, сіз мәміленің уақытын кестеде сақтай аласыз және таңдауыңызды жасай аласыз.
қосылды автор zneak, көзі
соңғы 10 секундтағы кез-келген жазбалардың бар-жоғын тексеріңіз, егер сіз бұл жіберілімнің DateTime сақталатын болсаңыз
қосылды автор Kris Ivanov, көзі
мүмкін сіздің кесте құрылымыңыз туралы көбірек мәлімет берсеңіз, егжей-тегжейлі анықтама берілетін болады
қосылды автор Kris Ivanov, көзі
Тек бастапқы сұрақты өңдеңіз
қосылды автор Kris Ivanov, көзі
SQL сұрауы қандай көрінеді?
қосылды автор Frank, көзі
ол уақытша мөртабан ретінде сақталады, бірақ оны өзгерте аламын
қосылды автор Frank, көзі
------------------------ id | мазмұны post_date ------------------------ 1 | Сынақ | нәрсе ------------------------ 2 | Сынақ | нәрсе ------------------------ 3 | Сынақ | бір нәрсе
қосылды автор Frank, көзі
бұл бәрінен де жақсы шықпады
қосылды автор Frank, көзі
@zneak Егер олар оны жіберуді жалғастырса, менің барлық деректерімді жуып тастайды. Және иә, менің ойымша, cookies - менің жалғыз нұсқа :)
қосылды автор Frank, көзі
@ КрисИванов жасадым, көріп тұрғанымдай, бұл жақсы болмады.
қосылды автор Frank, көзі

1 жауаптар

пайдаланушыға шектеу қою немесе ғаламдық деңгейде шектеу керек пе, түсініксіз

SELECT
    CASE WHEN EXISTS (
        SELECT 1 FROM [example] WHERE date_time > DATEADD (SS , -10 , GETDATE())
    )
        THEN cast(1 as bit)
        ELSE cast(0 as bit)
    END
FROM  ( SELECT 1 AS X ) AS [SingleRowTable];

бұл сұрау сізге соңғы 10 секундтағы жазба болған жағдайда, сіздің мақсатыңызға сәйкес келу үшін қажет болған жағдайда реттеуге болатын 1 немесе 0

1
қосылды