【问题标题】:Column name conflicts with SQL Function when adding new rows添加新行时列名与 SQL 函数冲突
【发布时间】:2020-07-21 10:46:03
【问题描述】:

我有一个包含 3 列(系统、SES 和 KL)的表。我想复制该表的 1 行,将 SES 的值从 120 更改为 100,将 KL 从 150 更改为 10,并将其添加为新行。列名“系统”与 SQL 语句冲突并变为蓝色突出显示..??

这是我的代码:

INSERT INTO my_table(System, SES, KL)
SELECT System, "100", "10"
  FROM my_table
 WHERE SES AND KL = "120", "150"

【问题讨论】:

  • 叫它别的东西
  • @Strawberry 我无法更改列名系统,因为它实际上是从文件内容中加载的。这意味着我必须更改所有不可能的文件内容..
  • 系统(R);在 8.0.3 中添加(保留)dev.mysql.com/doc/refman/8.0/en/… 从文件内容加载是什么意思?

标签: mysql mysql-workbench sql-insert


【解决方案1】:

使用保留关键字时使用反引号:`

INSERT INTO my_table (`System`, SES, KL)
SELECT `System`, '100', '10'
FROM my_table
WHERE SES = '120' AND KL = '150';

您可以在键盘的 tab 键上方找到 bactick。

您的where 条件也有误。

【讨论】:

  • @Premier12 很高兴为您提供帮助。欢迎
【解决方案2】:

WHERE 子句的语法略有偏差:

INSERT INTO my_table (System, SES, KL)
SELECT System, '100', '10'
FROM my_table
WHERE SES = '120' AND KL = '150';

【讨论】:

  • 您刚刚添加了一个 ;在“150”之后?但系统保持蓝色并给出错误...
  • 不,我做了其他更改,再次检查。还有……现在的错误是什么?
  • 还是一样:(
猜你喜欢
  • 2016-05-03
  • 1970-01-01
  • 2015-02-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多