У меня проблема, я хочу вводить данные в моей базе данных, но я получаю сообщение об ошибке (у вас есть ошибка в синтаксисе SQL, проверьте руководство, соответствующее версии сервера ypur MariaDB, для правильного синтаксиса для использования рядом с "unique, partno, коробки, шт, modul, p_lane) VALUES (1, 'T103', '16581-57020', 3,1 'в строке 1)
но после проверки синтаксиса, который я использовал соответственно
это мой код
ElseIf ComboBox1.Text = "TAPPING PLAN TMC" Then
Dim cmd As New MySqlCommand("insert into s_unpackingtmc(no, unique, partno, boxs, pcs, modul, p_lane) VALUES (@Column1, @Column2, @Column3, @Column4, @Column5, @Column6, @Column7)", conn)
Try
For i As Integer = 0 To (DataGridView1.Rows.Count - 2)
no1 = DataGridView1.Rows(i).Cells(0).Value
unique1 = DataGridView1.Rows(i).Cells(1).Value
partno1 = DataGridView1.Rows(i).Cells(2).Value
boxs1 = DataGridView1.Rows(i).Cells(3).Value
pcs1 = DataGridView1.Rows(i).Cells(4).Value
modul1 = DataGridView1.Rows(i).Cells(5).Value
plane1 = DataGridView1.Rows(i).Cells(6).Value
cmd.Parameters.AddWithValue("@Column1", no1)
cmd.Parameters.AddWithValue("@Column2", unique1)
cmd.Parameters.AddWithValue("@Column3", partno1)
cmd.Parameters.AddWithValue("@Column4", boxs1)
cmd.Parameters.AddWithValue("@Column5", pcs1)
cmd.Parameters.AddWithValue("@Column6", modul1)
cmd.Parameters.AddWithValue("@Column7", plane1)
cmd.ExecuteNonQuery()
cmd.Parameters.Clear()
Next
MsgBox("Data Berhasil Diupload", MsgBoxStyle.Information, "Information")
Call tampildata3()
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Information, "Information")
cmd.Dispose()
Call tampildata3()
End Try
Согласно ключевым словам и ограничениям документации MariaDB, UNIQUE
является зарезервированным ключевым словом для определения уникального ограничения таблицы:
Ключевое слово UNIQUE означает, что индекс не будет принимать повторяющиеся значения, за исключением NULL. Ошибка будет повышаться, если вы попытаетесь вставить повторяющиеся значения в индекс UNIQUE.
Для ключей UNIQUE, PRIMARY KEYs и FOREIGN KEYs вы можете указать имя ограничения, используя ключевое слово CONSTRAINT. Это имя будет использоваться в сообщениях об ошибках.
Вы можете использовать либо обратную или двойную кавычку в зависимости от каждого режима (стандартный или ANSI SQL-режим соответственно, см. Соответствующую проблему), либо переименовать его в другой идентификатор без ключевого слова:
Стандартный режим
insert into s_unpackingtmc(no, 'unique', partno, boxs, pcs, modul, p_lane) VALUES (@Column1, @Column2, @Column3, @Column4, @Column5, @Column6, @Column7)
Режим ANSI SQL
insert into s_unpackingtmc(no, "unique", partno, boxs, pcs, modul, p_lane) VALUES (@Column1, @Column2, @Column3, @Column4, @Column5, @Column6, @Column7)
unique
слово зарезервировано? Я полагаю, что символ цитирования идентификатора в MariaDB является... no, `unique`, partno, ...
поэтому я бы предложил попробовать... no, `unique`, partno, ...
и посмотреть, повезет ли вам.