Onzin, MySQL is wat dat betreft net als php. Makkelijk te leren, maar wel veel dingen op een niet-standaard of zelfs vieze manier. Bovendien moet je bij mysql rekening houden met zaken waar je bij andere databases niet op hoeft te letten en juist geen rekening met dingen waar je bij andere databases weer wel op moet letten. Maar voor je het vraagt, ik heb dit soort dingen af en toe meegemaakt maar het zijn vaak zulke obscure dingen dat ik ze ondertussen ook alweer vergeten ben

Maar o.a. de vieze ondersteuning voor datums zoals het feit dat 31 april een geldige datum is en gebrek aan fatsoenlijke interval-support (wat komt er uit date('5 april 2007') - date('3 april 2006') ?), het altijd opgeven van een default (als je not null zonder default kiest kan je toch het veld weglaten omdat er automatisch een default werd toegevoegd, bovendien is de default datum 0000-00-00 helemaal geen bestaande datum) en allerlei andere vage zaken met betrekking tot tabeldefinities.
Daarnaast is innodb's feedback over tabeldefinitiefouten ronduit dramatisch. Probeer maar eens een foreign key te verwijzen naar een niet-identiek datatype van een andere tabel (dus bijv smallint naar integer, waar op zich geen technisch bezwaar tegen is). Dan krijg je een of andere vage foutmelding waarvan je zelf moet uitvogelen wat ie mogelijk zou kunnen betekenen. Terwijl zoiets met name voor beginners niet erg duidelijk is.
Daarnaast heeft MySQL ondanks zijn hoge versienummer nog altijd de nodige bugs en/of worden er obscure nieuwe bugs geintroduceerd. Een paar weken terug had ik een query waar resultaat uit had moeten komen, in diverse herschreven vormen werkte ie wel, maar de meest efficiente niet... Dat was in MySQL 5.0.41, toen ik de query op dezelfde data in 5.0.38 testte werkte ie wel...
Overigens zijn het soort queries waar ik daarmee tegenaanloop niet bepaald beginnerqueries, dus wat dat betreft is het een minder relevant nadeel

Omdat je via PHPadmin allerlei opdrachten op je tabel kunt loslaten door simpel te klikken, deze opdrachten kun je zien, en kun je dan ook rechtsreeks in je php-bestand gebruiken.
Voor postgresql is er o.a. phppgadmin of de windowstool pgadmin
Eigenlijk heb ik sinds dag 1 zo gewerkt, gewoon in MySQL kijken wat ik moet doen om bepaalde rijen te selecteren, en dan de opdracht doorlezen, en deze dan gebruiken als ondersteuning voor mijn php script.
Je queries los invoeren en testen is inderdaad een handige methode om zo fouten te voorkomen, zeker als het een wat lastiger geval is. Maar hoewel phpmyadmin daar zeker een nuttig hulpmiddel bij is in geval van mysql, is het niet de enige die je daarbij kan helpen en kennen de andere rdbms-omgevingen ook dergelijke tools

Al jaren, volgens mij is MySQL de enige veelgebruikte database die dat soort features pas sinds kort heeft of pas in de aankomende major release gaat krijgen

- voeg een veld toe aan de tabel waarin een timestamp van de insert (/update ?) komt.
- laat dit veld automatisch zetten door de trigger.
Hier heb je geen triggers voor nodig. Je kan zoiets overigens ook gewoon met een serial (postgresql), generator (diverse andere omgevingen) of auto_increment (mysql, mssql) oplossen. Of een timestamp-veld dat default naar de huidige tijd.
't Voordeel van de trigger is dan meer dat je die waarde kan forceren, ongeacht wat er bij de insert of update ingevoerd wordt.
[
Voor 12% gewijzigd door
ACM op 06-07-2007 08:36
]