Kan MySQL själv trigga SQL-frågor?

Tråden skapades och har fått 7 svar. Det senaste inlägget skrevs .
1
  • Medlem
  • International user
  • 2007-11-28 08:34

Jag har ett antal SQL-frågor som underhåller databaser. Jag undrar om MySQL själv kan trigga SQL som ligger i en tabell vid en viss tidpunkt? Kör version 4.1. Idag körs underhållet via crontab men det vore bättre om det kunde skötas internt i db.

Senare versioner av MySQL har sk triggers (från version 5.0.2). Det är ett koncept som innebär att när du gör en ändring i en kolumn eller skapar en rad via SQL-kommandon, så kan MySQL automatiskt köra ett antal andra SQL-kommandon.

http://dev.mysql.com/doc/refman/5.0/en/triggers.html
http://dev.mysql.com/doc/refman/5.1/en/triggers.html
http://dev.mysql.com/doc/refman/6.0/en/triggers.html

  • Medlem
  • International user
  • 2007-11-28 18:00

Jag tolkar det som att MySQL inte kan fungera som en timer, d.v.s. köra en SQL-sats kl. 10.00 varje dag.

  • Medlem
  • 2007-11-28 18:27

Nej, det är inte ett jobb för MySQL, gör ett cronskript eller motsvarande som kör frågorna.

Ett till?

  • Medlem
  • 2007-11-28 22:01

Nej naturligtvis inte, förlåt.. Missade att han redan idag körde ett cronscript.

  • Oregistrerad
  • 2007-11-28 23:55

mySQL är ingen crongenerator. Jag förstår inte varför du tycker att cron är dåligt, Cron är ju skitbra. Om du dumpar loggen från det också till en loggfil kan du ju lätt se när i tiden saker hänt. Vad skulle bli bättre av att du skulle "köra" det i mysql?

  • Medlem
  • Stockholm
  • 2007-11-29 10:02
Ursprungligen av studiox:

mySQL är ingen crongenerator. Jag förstår inte varför du tycker att cron är dåligt, Cron är ju skitbra. Om du dumpar loggen från det också till en loggfil kan du ju lätt se när i tiden saker hänt. Vad skulle bli bättre av att du skulle "köra" det i mysql?

Exakt, hela poängen med unix verktygen är ju att de skall göra en och endast en sak, men göra det bra.. addera mer komplexitet i byggstenarna är ju bara dumt, och hör hemma i windows världen

1
Bevaka tråden