LinxLab

Il meglio dal laboratorio

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
  • Ripuliamo la nostra stringa UTF-8

    Come da titolo, quante volte ci siamo ritrovati a dover combattere con i charset?

    Chi utilizza sistemi di import, spesso si è scervellato al fine di eliminare quei caratteri che magari, creavano problemi con webservice esterni o dovuti da copia/incolla che spesso gli utenti dei siti fanno.

    In nostro soccorso arrivano due semplicissime righe di codice, che hanno il compito di ripulire la nostra stringa (descrizione o qualsiasi cosa essa sia):

    [php]
    $charset = “UTF-8″;
    $sChunk = mb_convert_encoding($sChunk, $charset, $charset);
    $sChunk = preg_replace(‘/[^\x9\xA\xD\x20-\x{D7FF}\x{E000}-\x{FFFD}\x{10000}-\x{10FFFF}]+/u’,”,$sChunk);
    [/php]

    Grazie e al prossimo snippet 🙂

    PS. non siate avari con i +1

    Share and Enjoy

    • Facebook
    • Twitter
    • Delicious
    • LinkedIn
    • StumbleUpon
    • Add to favorites
    • Email
    • RSS
  • 0 Comments
  • Filed under: PHP
  • 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 Validazione e-mail

    Come per il precedente articolo:

    How To PHP: match/validate url

    Anche oggi vi propongo una mini guida sulla validazione. Stavolta parliamo delle e-mail.

    Read the rest of this entry »

    Share and Enjoy

    • Facebook
    • Twitter
    • Delicious
    • LinkedIn
    • StumbleUpon
    • Add to favorites
    • Email
    • RSS
  • 0 Comments
  • Filed under: PHP
  • How To PHP: match/validate url

    Un piccolo how to sul match, o se volete la validazione, delle url in PHP.

    A chi non è mai capitato di dover validare una URL?

    Read the rest of this entry »

    Share and Enjoy

    • Facebook
    • Twitter
    • Delicious
    • LinkedIn
    • StumbleUpon
    • Add to favorites
    • Email
    • RSS
  • 0 Comments
  • Filed under: PHP
  • 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
  • Quando dovete caricare sul vostro sito web, in remoto, utilizziamo il server FTP che ci permette di caricare tutti i file compresi sottodirectory.

    È necessario utilizzare uno speciale programma di trasferimento file come ncftpget o ncftpput, per la ricorsione remota su ftp server,di upload e download.

    Ncftp è considerato come un client FTP migliorato.

    Read the rest of this entry »

    Share and Enjoy

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

    spesso mi è capitato di dovermi fare una copia di un software versionato tramite Subversion, ovviamente per avere una copia pulita, magari da utilizzare per una branches o una tag oppure solo per una mera copia, bisogna cancellare i file e le cartelle .svn .

    Qui entra in gioco la nostra "console" che tramite un semplice comando trova ed elimina questi file "superflui".

    Read the rest of this entry »

    Share and Enjoy

    • Facebook
    • Twitter
    • Delicious
    • LinkedIn
    • StumbleUpon
    • Add to favorites
    • Email
    • RSS
  • 0 Comments
  • Filed under: linux
  • Lavorando ad un progetto mi sono imbattuto in uno strano problema; purtroppo il sistema di debug che utilizzo una volta avviato stampa a video tutto senza la possibilità di scegliere dove e quando scrivere il debug. Quindi ho pensato di catturare tale debug e di inserirlo in una apposita variabile, in modo da poterlo, salvare in un db o stampare a mio piacimento dove meglio credo.

    Read the rest of this entry »

    Share and Enjoy

    • Facebook
    • Twitter
    • Delicious
    • LinkedIn
    • StumbleUpon
    • Add to favorites
    • Email
    • RSS
  • 0 Comments
  • Filed under: PHP
  • SFacebook…. questo sconosciuto!

    Sono certo che ormai una buona parte degli utenti del WEB usino Firefox come Browser per navigare in internet.

    Tempo addietro sviluppai un addons per questo browser capace di utilizzare dei proxy, privati e non per bypassare eventuali blocchi di Facebook/Youtube da parte dei datori di lavoro.

    Read the rest of this entry »

    Share and Enjoy

    • Facebook
    • Twitter
    • Delicious
    • LinkedIn
    • StumbleUpon
    • Add to favorites
    • Email
    • RSS
  • 2 Comments
  • Filed under: Firefox