sql >> Database teknologi >  >> RDS >> Mysql

Indekseret MySQL-felt gemmer ikke værdi ved oprettelse/redigering af post gennem ADO

Jeg var i stand til at genskabe dit problem med 64-bit versionen af ​​MySQL ODBC 5.3 Unicode Driver (5.03.04.00). Det ser ud til at være et problem med ADO Recordset-opdateringer, når den sidste kolonne i tabellen er af typen TEXT . Jeg havde ikke engang et indeks på userid og jeg fik de samme resultater.

En mulig løsning ville være at bruge en ADODB.Command med parametre til at udføre indsættelsen ved hjælp af kode svarende til denne:

Dim oConn As ADODB.Connection
Dim cmd As ADODB.Command

Set oConn = New ADODB.Connection
oConn.Open _
        "Driver=MySQL ODBC 5.3 Unicode Driver;" & _
        "SERVER=localhost;" & _
        "UID=root;" & _
        "PWD=whatever;" & _
        "DATABASE=mydb;" & _
        "PORT=3306;" & _
        "DFLT_BIGINT_BIND_STR=1"

Set cmd = New ADODB.Command
cmd.ActiveConnection = oConn
cmd.CommandText = _
        "INSERT INTO phplist_user_user_history " & _
        "(`userid`, `ip`, `date`, `Summary`, `Detail`, `systeminfo`) " & _
        "VALUES (?,?,?,?,?,?)"
cmd.Parameters.Append cmd.CreateParameter("?", adInteger, adParamInput, , 456)
cmd.Parameters.Append cmd.CreateParameter("?", adVarWChar, adParamInput, 255, "")
cmd.Parameters.Append cmd.CreateParameter("?", adDBTimeStamp, adParamInput, 255, Now)
cmd.Parameters.Append cmd.CreateParameter("?", adVarWChar, adParamInput, 255, "cHistory.Subject")
cmd.Parameters.Append cmd.CreateParameter("?", adLongVarWChar, adParamInput, 2147483647, "cHistory.Body")
cmd.Parameters.Append cmd.CreateParameter("?", adLongVarWChar, adParamInput, 2147483647, "Automated syncronization process.")
cmd.Execute

Set cmd = Nothing
oConn.Close
Set oConn = Nothing

Jeg testede det fra en Access 2010-database, og det fungerede fint for mig.



  1. FEJL 1054 (42S22):Ukendt kolonne '‍‍' i 'feltliste'

  2. Er FCM (firebase cloud messaging)-token til én enhed eller én konto?

  3. Henter data fra Mysql DB til listView ved hjælp af JSON og PHP

  4. rot13 funktion på MYSQL