sql >> Database >  >> RDS >> Mysql

Voeg 1 toe aan een veld

Word ik hiervoor gedegradeerd?

$sql = "UPDATE skills SET level = level+1 WHERE id = $id";
$result = $db->sql_query($sql);
$db->sql_freeresult($result);

In het specifieke geval van Teifion vermeldt de phpBB DDL dat specifieke veld als NOT NULL, dus er is geen gevaar dat NULL wordt verhoogd.

In het algemeen moet u NULL niet gebruiken om nul weer te geven. NULL verhogen zou geef een antwoord van NULL. Als je het soort misleide ontwikkelaar bent die denkt dat NULL=0, stap weg van het toetsenbord en zoek een ander tijdverdrijf, dan maak je het leven van de rest van ons gewoon moeilijk. Dit is natuurlijk de computerindustrie en wie zijn wij om te zeggen dat je ongelijk hebt? Als je het niet bij het verkeerde eind hebt, gebruik dan

$sql = "UPDATE skills SET level = COALESCE(level,0)+1 WHERE id = $id";

...maar laten we eerlijk zijn:je hebt het mis. Als iedereen op niveau 0 begint, moet je DDL

. bevatten
level INT DEFAULT '0' NOT NULL

voor het geval de programmeurs vergeten het in te stellen wanneer ze een record maken. Als niet iedereen op niveau 0 begint, sla dan de STANDAARD over en dwing de programmeur om een ​​waarde op te geven bij het maken. Als sommige mensen boven niveaus staan, voor wie het hebben van een niveau zinloos is, dan heeft het ook geen zin om er een aan hun niveau toe te voegen. Laat in dat geval de NOT NULL van de DDL vallen.



  1. Overervingsbeveiligingsregels geschonden door type:'MySql.Data.Entity.MySqlEFConfiguration'

  2. Belang van backtick rond tabelnaam in MySQL-query

  3. Krijg SUM in GROUP BY met JOIN met MySQL

  4. Hoe de SQL-query optimaliseren met het berekenen van afstand op lengte- en breedtegraad?