【问题标题】:SQL Insert into proper column IDSQL 插入正确的列 ID
【发布时间】:2018-05-27 06:54:37
【问题描述】:

快速提问。我有一个名为 answers 的表的 SQL 数据库。

此表包含列id,answer_1,answer_2 etc.

首先,当我启动我的应用程序时,它会生成一个随机数并将其插入到表answers 中作为student_id

然后学生在回答问题,在每个回答之后,我想在基础上插入一个答案。

在伪代码中我想做这样的事情:

INSERT INTO answers (answer_1) VALUES ("blah blab") WHERE student_id=xxx

是否有可能制作这样的东西?

【问题讨论】:

  • 好吧,您的“伪代码”大部分是实际工作的 SQL。怎么样它没有按照你想要的方式工作。你的问题很模棱两可。而且我不会使用随机生成的数字。使用一个序列,或者你的 DBMS 等价物,否则你最终会遇到 student_id 值的冲突。
  • 请忘记answer1, answer2等索引列
  • 您使用的是 MySQL 还是 MS SQL Server?不要标记未涉及的产品。
  • 实际上 UPDATE 功能有效 :)
  • 双引号用于分隔标识符。 (即带有 _strange_names 的对象,例如 "Odd Column name...?"。)对字符串文字使用单引号,例如'blah blab'.

标签: mysql sql sql-server database syntax


【解决方案1】:

根据您的说法,学生的记录已经存在,因此要插入您需要使用更新的答案:

UPDATE [answers] SET [answer_1] = 'blah blab' WHERE [student_id] = xxx 

【讨论】:

    【解决方案2】:

    有两个条件:

    • 如果要更新值,很简单,使用以下代码:

      更新 [答案] SET [answer_1] = '废话' WHERE [student_id] = xxx;

    或者如果您希望系统自行更新记录,请清除您的问题、编辑它或提出新问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多