LinxLab

Il meglio dal laboratorio

Archive for the ‘Mysql’ Category

Vi è mai capitato di dover convertire un db che avesse come engine MYSQL in InnoDb?

Perchè cambiare engine? la prima cosa per le fantastiche constraint.

E' appurato che nel 99% dei casi, quando si prova a creare una FOREIGN KEY, Mysql restituisce il messaggio di errore:

#1452 – Cannot add or update a child row….

Il codice di errore è utilizzato per indicare la presenza di dati inesistenti nella tabella a cui si sta facendo riferimento per la creazione delle chiavi.

Per risolvere velocemente questo problema quindi è necessario rimuovere tali dati con una semplice query:

 

[php]DELETE FROM tabella1 WHERE campoFK IN (SELECT campoFK FROM tabella1 where campoFK NOT IN (SELECT campoPK FROM tabella2))[/php]

 

Share and Enjoy

  • Facebook
  • Twitter
  • Delicious
  • LinkedIn
  • StumbleUpon
  • Add to favorites
  • Email
  • RSS
  • 0 Comments
  • Filed under: Mysql
  • I Trigger

    Brevi slide sui trigger e su come si usano.

    Share and Enjoy

    • Facebook
    • Twitter
    • Delicious
    • LinkedIn
    • StumbleUpon
    • Add to favorites
    • Email
    • RSS
  • 0 Comments
  • Filed under: Mysql
  • How To: Creare una view in Mysql

    Introduzione

    Una view è una tabella virtuale o una mappa di dati tra una o più tabelle. La View in se per se non è un contenitore di dati ma è una Query che mostra i dati come li vorresti impaginare.

    Ma bando alle ciance e proviamo a simulare tutti gli statement di una view dalla creazione alla sua cancellazione.

    SQL Statement per CREARE una VIEW

    [SQL]CREATE VIEW view_name AS SELECT column_name(s) FROM table_name WHERE condition [/SQL]

    Perchè creare una View

    Per ottimizzare e semplificare la visualizzazione dei dati direttamente sul database.

    Come un meccanismo di sicurezza, consentendo agli utenti di accedere ai dati attraverso la view, senza dover accedere per forza alle reali tabelle.

    [SQL]DROP VIEW view_name[/SQL]

    Share and Enjoy

    • Facebook
    • Twitter
    • Delicious
    • LinkedIn
    • StumbleUpon
    • Add to favorites
    • Email
    • RSS
  • 0 Comments
  • Filed under: Mysql