当前位置: 首页 > 面试题库 >

如何避免出现此MySQL错误列名“ COLUMN NAME”的列说明符不正确?

祁鸿晖
2023-03-14
问题内容

如何避免出现此MySQL错误 列topic_id的列说明符不正确

MSQL错误…

#1063 - Incorrect column specifier for column 'topic_id'

SQL模式…

CREATE TABLE discussion_topics (
    topic_id char(36) NOT NULL AUTO_INCREMENT,
    project_id char(36) NOT NULL,
    topic_subject VARCHAR(255) NOT NULL,
    topic_content TEXT default NULL,
    date_created DATETIME NOT NULL,
    date_last_post DATETIME NOT NULL,
    created_by_user_id char(36) NOT NULL,
    last_post_user_id char(36) NOT NULL,
    posts_count char(36) default NULL,
    PRIMARY KEY (topic_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;

问题答案:

要使用它,AUTO_INCREMENT您需要将column定义为asINT或浮点类型,而不是CHAR

AUTO_INCREMENT只使用无符号值,因此也很好使用UNSIGNED

CREATE TABLE discussion_topics (

     topic_id INT NOT NULL unsigned AUTO_INCREMENT,
     project_id char(36) NOT NULL,
     topic_subject VARCHAR(255) NOT NULL,
     topic_content TEXT default NULL,
     date_created DATETIME NOT NULL,
     date_last_post DATETIME NOT NULL,
     created_by_user_id char(36) NOT NULL,
     last_post_user_id char(36) NOT NULL,
     posts_count char(36) default NULL,
     PRIMARY KEY (topic_id) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;


 类似资料:
  • 问题内容: 我有: MySql输出:“列’price’的列说明符不正确 为什么是这样? 问题答案: 指定数据类型时无效。 您可以在括号忽略值,例如只是有本身或指定使用类似的括号内的数值(见本的信息,什么样的价值观是说......你可能需要这些取决于什么你打算定制存储在列中)

  • 我在使用Hibernate创建表时遇到了一些困难,出现了以下异常: com.mysql.jdbc.exceptions.jdbc4.mysqlsyntaxerrorexception:列“id”的列说明符不正确 任何帮助都很感激。

  • 问题内容: 最近,我被分配创建拍卖系统的任务。在我的工作中,我遇到了无数次由于列名不明确而导致包含联接的SQL查询无法执行的情况。考虑以下(简化的)拍卖表结构: 表: (创建拍卖的用户的ID) 表: (添加项目的用户的ID) (有该物品的拍卖的ID) (初始价格) 表: 表: (出价的用户的ID) (已提高价格的项目) (优惠价格) 如您所见,有许多列具有冲突的名称。连接这些表需要采取一些措施来消

  • 我试图在Laravel中加入3个表后查看特定表的日期。但是它只显示一个表的信息。 下面是连接3个表的代码: 路由文件: 下面是查看刀片模板中信息的脚本 刀片中的代码: 这里我想查看发票的创建日期,但它显示了subscribers表中订户的创建日期。但我想从发票表中查看发票的具体日期。 我该怎么做?当做

  • 我正在将oracle从10升级到12,对于这个特定的项目,我遇到了以下错误: 似乎它没有识别我在DataSource上添加的配置: 我们使用的是Java 8,我们对代码有这些依赖关系: 问题是它正在为另一个项目工作(与这个项目具有相同的结构,但由于某种原因它在这里不起作用) 是否有任何遗漏或我可以找到问题并解决问题的地方?

  • 21:17:21 update DEPT_DUP set dept_name=null,其中dept_no='D010'错误代码:1175。您使用的是安全更新模式,并且试图更新一个没有使用键列的WHERE的表。要禁用安全模式,请在Preferences->SQL Editor中切换该选项并重新连接。0.000秒 在错误信息中,它给了我路径,但我无法理解在哪里重新连接?