2011-05-11 75 views
0
"CREATE TABLE dummy 
(
tnum UNSIGNED INT NOT NULL AUTO_INCREMENT, 
PRIMARY KEY (tnum), 
)"; 

ALTER TABLE dummy AUTO_INCREMENT = 10000; 

这不运行。我想知道是什么原因造成的错误,以及替代方法,以便我可以创建一个自动递增主键,其默认值为10000.创建一个主键自动增量,默认值为10000的表格

+0

ALTER TABLE哑DEFAULT tnum = 10000; – Ibu 2011-05-11 03:32:22

+0

如果你的意思是auto_increment的起始值是10000.我知道你的代码是这样做的。你收到了什么错误? – ace 2011-05-11 03:38:41

+0

@ace解析错误:语法错误,意外T_STRING这是我得到的错误.. – nicole 2011-05-11 03:51:55

回答

-1

从您的查询中删除UNSIGNED

+1

为什么downvote?谨慎回答?? – Rifat 2011-05-23 01:07:55

0

PRIMARY KEY (tnum),

CREATE TABLE dummy 
(
tnum INT NOT NULL AUTO_INCREMENT, 
PRIMARY KEY (tnum) 
); 

ALTER TABLE dummy AUTO_INCREMENT = 10000; 

它的工作原理取出​​unsigned,则"(包括双引号)和 ''(逗号)。

+0

对不起,我编辑我的代码之前发布在这里..逗号是一个简单的印刷错误.. – nicole 2011-05-11 03:56:06

+0

其不工作.. ALTER TABLE DUMMY AUTO_INCREMENT = 10000;检测到错误>>>解析错误:语法错误,意外T_STRING – nicole 2011-05-11 04:05:52

+0

我复制并粘贴了我的响应中的代码并再次执行它。它工作得很好!尝试我的新答案,只是发布它。 – Bhushan 2011-05-11 04:11:55

0

如果您需要设置AUTO_INCREMENT起始值,您可以使用此代码:

CREATE TABLE dummy 
(
tnum INT NOT NULL AUTO_INCREMENT, 
PRIMARY KEY (tnum) 
) AUTO_INCREMENT=10000; 
+0

PRIMARY KEY(tnum)之后的逗号(',')不应该在那里。 – Bhushan 2011-05-11 04:13:28

+0

已编辑=) – rMX 2011-05-11 04:17:35

0
delimiter $$ 

CREATE TABLE `dummy` (
    `tnum` int(11) NOT NULL AUTO_INCREMENT, 
    PRIMARY KEY (`tnum`) 
) ENGINE=InnoDB AUTO_INCREMENT=10000 DEFAULT CHARSET=latin1$$ 

如果要复制并从某处粘贴,要小心,任何特殊的/非ASCII字符会导致出现错误

0

这是因为您不能同时具有自动增量和默认值,该值将为每个新条目增加。

它看起来更像是你有一个PHP的错误给我,表现出一定的代码在你的PHP文件, 正在执行查询的部分是不正确的,

确保您有匹配的单引号或双引号。记得yu一次只能做一个查询。

使用命令行或类似MySQL工作台应用程序来创建和操作您的数据库

1

无符号是伟大的AUTO_INCREMENT列!它给你两倍的可能值!

查询更改为以下:

CREATE TABLE dummy (
    tnum INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY 
) AUTO_INCREMENT=10000 
+0

好的,太好了。这与OP的问题有什么关系? – 2013-07-02 07:14:52