【问题标题】:MySQL reserved column namesMySQL 保留列名
【发布时间】:2010-11-14 07:13:51
【问题描述】:

我刚刚在我的个人 CMS 软件中遇到了一个错误,它会告诉我数据库构建过程已完成,但我正在创建的表将仅包含一个“id”字段。经过反复试验,我尝试获取它正在使用的确切查询并执行它,发现问题是 mysql 错误“#1060 - Duplicate column name 'name'”。我将我正在尝试的列名切换为其他名称,并且它运行良好。我很肯定它不是保留的列名,因为它在完全相同的数据库中的另一个表上使用。有没有人遇到过这种问题?

【问题讨论】:

  • 嗯,听起来查询指定了两次列名...您可以发布您正在运行的脚本吗?诊断我们看不到的脚本有点困难。

标签: mysql sql mysql-error-1060


【解决方案1】:

这就是您在错误消息中收到#1060 错误的方式。

mysql> CREATE TABLE MyTbl (id INT, name VARCHAR(80), age INT, name VARCHAR(80)); 
ERROR 1060 (42S21): Duplicate column name 'name'

如您所见,列名name 被使用了两次。

(当然,它不是保留字,当然,它可以在另一个表中工作,它只出现一次:-)

【讨论】:

    【解决方案2】:

    对于保留名称,您可以使用 ` 编写,如下所示:

    CREATE TABLE MyTbl (id INT, `name` VARCHAR(80), age INT);
    

    并删除名为 name 的第二列!

    【讨论】:

      猜你喜欢
      • 2023-03-15
      • 2012-04-05
      • 2021-12-17
      • 1970-01-01
      • 2018-10-24
      • 2016-09-20
      • 1970-01-01
      • 2022-07-29
      • 2014-08-16
      相关资源
      最近更新 更多