你的位置:

问答吧

-> MySQL

-> 问题详情

mysql5不支持Identity属性吗?

下载了mysql-5.0.24-win32,安装好后建表,输入以下SQL语句:

create table tbl_user (

id int(11) identity(1,1) primary key,

username varchar(50) not null,

password varchar(50) not null

)

运行时提示如下错误(是在phpmyadmin中输入SQL语句建表的):

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'identity(1,1) primary key,

username varchar(50) not null,

这个错误提示是什么意思?如果不用SQL语句建表而是直接在phpmyadmin中建表,发现并没有设置identity属性的选项啊,只有auto_increment选项可供选择,不明白identity属性和auto_increment属性有何区别?希望大家指点一下,mysql5是不是不支持上述建表SQL语句啊?是不是以前的版本支持identity属性而现在的新版本不再支持了的,但我看资料上建表语法是支持这个属性的啊!

作者: my3b

发布时间: 2006-08-19

还有一个问题不明白,即default values的用法,我见资料上这样写着:

Default Values 形式为表中的某一行的所有列插入默认值。使用这种形式的前提条件是表中的所有列必须是这四种类型之一:Identity属性,Timestamp数据类型,允许为Null,或者有一个指定的默认值。否则,会错误信息。

我建了一个表,建表SQL语句如下:

CREATE TABLE `cc` (

`username` varchar(50) NOT NULL default '白头',

`abbb` varchar(50) default '刘东',

PRIMARY KEY  (`username`)

) ENGINE=InnoDB DEFAULT CHARSET=gbk;

但运行下列SQL语句插入默认值时总是提示如下错误:

insert into cc values (default values);

---------------------------

错误

---------------------------

SQL 执行错误 # 1064. 从数据库的响应:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'values)' at line 1

---------------------------

确定

---------------------------

又是1064错误,这1064错误代表什么?在mysql错误代码中查不到的,晕倒了。究竟如何设置default values呢?

作者: my3b

发布时间: 2006-08-19

insert into cc (username) values ('白头')

可以吧

作者: chenlb

发布时间: 2006-08-22

主键是不允许重复的

作者: cxczqfrx

发布时间: 2006-08-22

insert into cc values (default values);如果都取默认值,应该写成

insert into cc values ();

作者: weizy

发布时间: 2006-08-23

顶最后下

作者: kingzzm

发布时间: 2006-08-23

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐