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.
En omdat verschillende database-beheertools dan een waarschuwing geven "gevaarlijke query zonder where":
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
"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.
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.
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?
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.