如何避免出现此MySQL错误列名"COLUMN NAME"的列说明符不正确? [英] How can I avoid getting this MySQL error Incorrect column specifier for column COLUMN NAME?
本文介绍了如何避免出现此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屋!
查看全文