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:
Grazie!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![]()

Rispondi quotando