如何避免出现此MySQL错误列名"COLUMN NAME"的列说明符不正确? [英] How can I avoid getting this MySQL error Incorrect column specifier for column COLUMN NAME?

查看:750
本文介绍了如何避免出现此MySQL错误列名"COLUMN NAME"的列说明符不正确?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

How can I avoid getting this MySQL error Incorrect column specifier for column topic_id ?

MySQL错误...

MySQL Error...

#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,您需要将列定义为INT或浮点类型,而不是CHAR.

To use AUTO_INCREMENT you need to deifne column as INT or floating-point types, not CHAR.

AUTO_INCREMENT仅使用无符号值,因此也最好使用UNSIGNED;

AUTO_INCREMENT use only unsigned value, so it's good to use UNSIGNED as well;

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错误列名"COLUMN NAME"的列说明符不正确?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆