MySQL 插入到问题中

MySQL INSERT INTO issue

本文关键字:问题 插入 MySQL      更新时间:2023-10-16

这是我的表格:

CREATE TABLE IF NOT EXISTS CauHoi( MaCH VARCHAR(10) CHARACTER SET utf8 COLLATE utf8_unicode_ci PRIMARY KEY, MaMH VARCHAR(10) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL, Question TEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL, Difficulty VARCHAR(10) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL, a TEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL, b TEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL, c TEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL, d TEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL, Answer VARCHAR(10) NOT NULL);

这是我的查询:

answerComboBox->addItem("a");
answerComboBox->addItem("b");
answerComboBox->addItem("c");
answerComboBox->addItem("d");
q.prepare("INSERT INTO CauHoi(MaCH,MaMH,Question,Difficulty,a,b,c,d,Answer) VALUES ('"
          + maCHLineEdit->text() + "','"
          + maMHLineEdit->text() + "','"
          + questionTextEdit->toPlainText() + "','"
          + difficultyComboBox->currentText()+ "','"
          + aLineEdit->text() + "','"
          + bLineEdit->text() + "','"
          + cLineEdit->text() + "','"
          + dLineEdit->text() + "',"
          + answerComboBox->currentText()+");");

但是,当 q.exec() 如果 answerComboBox->currentText()=="c"时,CauHoi 表中的 Answer 列将变为 cLineEdit->text()。这是多么疯狂!我只希望它只是"a","b","c","d"。

请帮助我

您需要在周围添加开头和结尾的单引号

answerComboBox->currentText()

我找到了。我在answerComboBox->currentText()周围缺少单引号。