Ho una tabella che contiene tre campi: id, nome file, attiva.
Aggiungo dei record (sono nomi di immagini presenti in una cartella), ma vorrei saltare i nomi già presenti nella tabella.
Ho provato ad impostare come chiave primaria il campo con i nomi dei file. Il problema è che quando vengono scritti i dati nella tabella, se si incontra un nome già presente, mi viene restituito questo errore:
[MySQL][ODBC 3.51 Driver][mysqld-5.0.45-community-nt]Duplicate entry 'foto_1.jpg' for key 1
La chiave primaria non mi accetta i duplicati, ed è ciò che volevo ma come faccio, a questo punto, a dirgli di saltare questo file e passare al successivo, e così via fino alla fine?
In alternativa, l'idea è appunto scrivere nel db, ma evitare di scrivere più volte lo stesso nome, avete qualche altro suggerimento (se c'è un metodo più "corretto") diverso dall'impostare il campo del nome come chiave primaria?
Per completezza riporto il codice che sto usando:
codice:
Set objFSO = Nothing
strPath = "/images/panoramiche"
Set fileCreate = CreateObject("Scripting.FileSystemObject")
Set fileGet = fileCreate.GetFolder(Server.MapPath(strPath))
Set files = fileGet.Files
For Each file in files
sqlString = "INSERT INTO banner" &_
"(img) VALUES (" &_
" '" & file.name & "')"
Conn.Execute sqlString
Next
Set fileCreate=Nothing
Set fileGet=Nothing
Set files=Nothing
Grazie!