Query for bepaalde update

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Bollie Zwollie

Bollie Zwollie

25/03/2020 08:36:01
Quote Anchor link
Goedemorgen,

Ik heb een users table. Iedere user heeft credits. Nu wil ik iedere user 10 credits geven. Hoe kan ik dit met een MySQL command doen?
 
PHP hulp

PHP hulp

19/03/2024 04:00:39
 
Ward van der Put
Moderator

Ward van der Put

25/03/2020 08:47:37
Quote Anchor link
Wil je elke user 10 credits geven of wil je elke user er 10 credits bij geven?
In het eerste geval heeft iedereen er 10, in het tweede geval heeft iedereen er 10 meer.
 
Bollie Zwollie

Bollie Zwollie

25/03/2020 08:48:53
Quote Anchor link
Sorry voor mijn onduidelijkheid. Erbij geven. Dus huidig aantal +10
 
- Ariën  -
Beheerder

- Ariën -

25/03/2020 09:57:54
Quote Anchor link
UPDATE users SET credits = credits + 10
 
Ward van der Put
Moderator

Ward van der Put

25/03/2020 10:06:17
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
UPDATE users
   SET credits = credits + 10
 
Ivo P

Ivo P

25/03/2020 11:41:32
Quote Anchor link
En omdat verschillende database-beheertools dan een waarschuwing geven "gevaarlijke query zonder where":

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
UPDATE users
   SET credits = credits + 10
 WHERE 1 = 1


(die waarschuwing wordt gegeven omdat je mogelijk maar bij 1 user iets wilde aanpassen. En je tool wil je behoeden voor een dergelijk niet terug te draaien fout. Een fout die ernstiger is als je bijvoorbeeld 1 user admin wilde maken of 1 user wilde uitschakelen.)

WHERE 1=1 is altijd true. De tool is tevreden ivm "je bent geen where vergeten" en alle records vallen onder dit criterium.
Mysql zou ook werken met "WHERE 1", maar verschillende andere databases vinden dat te kort en vereisen iets waar echt een boolean uitkomt: een vergelijking
Gewijzigd op 25/03/2020 11:43:38 door Ivo P
 
Aad B

Aad B

25/03/2020 12:14:29
Quote Anchor link
Ivo P op 25/03/2020 11:41:32:
En omdat verschillende database-beheertools dan een waarschuwing geven "gevaarlijke query zonder where":
Ben benieuwd, ben het nog nooit tegengekomen, dus verschillende tools?
Heb je voorbeelden van tools die dat doen??
 
Ivo P

Ivo P

25/03/2020 12:20:47
Quote Anchor link
HeidiSQL bijvoorbeeld.

"Run usafe queryies without a WHERE clause?"
"Your query contains UPDATEs and/or DELETEs without a WHERE clause. Please confirm that you know what you're doing"

Ik dacht ook Navicat, maar die doet dat na test toch niet blijkbaar.
Wel een voor Oracle ben alleen even kwijt hoe die ook weer heette.
Gewijzigd op 25/03/2020 12:24:53 door Ivo P
 
- Ariën  -
Beheerder

- Ariën -

25/03/2020 13:35:01
Quote Anchor link
Ik dacht dat phpMyAdmin ook een bevestiging vraagt. Maar ik gebruik die zut bijna nooit meer. Tenzij ik online even snel wat wil toevoegen waar mijn CMS beheerstools tekort in schieten.

Meestal gebruik ik HeidiSQL of voor SQL-updatescripts de CLI.
Gewijzigd op 25/03/2020 13:37:17 door - Ariën -
 
Frank Nietbelangrijk

Frank Nietbelangrijk

25/03/2020 20:39:58
Quote Anchor link
- Ariën - op 25/03/2020 13:35:01:
Ik dacht dat phpMyAdmin ook een bevestiging vraagt. Maar ik gebruik die zut bijna nooit meer. Tenzij ik online even snel wat wil toevoegen waar mijn CMS beheerstools tekort in schieten.

Meestal gebruik ik HeidiSQL of voor SQL-updatescripts de CLI.


De meeste shared host providers bieden standaard phpMyAdmin aan.. Dus ja gebruiken doe ik het wel maar het is niet altijd de beste tool idd. Maar een tool gebruiken die niet op dezelfde server staat zit er meestal niet in toch? Of zit ik er dan naast?
 
Ivo P

Ivo P

25/03/2020 20:43:55
Quote Anchor link
ik gebruik doorgaans HeidiSQL dat op mijn eigen PC geinstalleerd is.
Ofwel via een open poort 3306 (ip gefilterd) direct verbinden met MySQL
ofwel via een SSHtunnel verbinden (en dan lijkt het net of mysql op localhost staat, maar staat in feite waar ook ter wereld.

Idem kan dat voor Navicat en elke andere tool.
Als een programma zelf (al dan niet met hulp van een plugin van bijv. PuTTy) niet kan tunnelen, dan kun je altijd nog PuTTy of Kitty een tunnel laten verzorgen.
 
Frank Nietbelangrijk

Frank Nietbelangrijk

25/03/2020 20:59:54
Quote Anchor link
Op een shared host (je weet wel zo een ding van enkele euro's per jaar) Ivo?
 
Ivo P

Ivo P

25/03/2020 21:01:03
Quote Anchor link
als je maar ssh toegang hebt...
 
Frank Nietbelangrijk

Frank Nietbelangrijk

25/03/2020 23:55:33
Quote Anchor link
Oke dank je Ivo. Iets om te onthouden :-)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.