0

我最近开始使用 Jpmaster77 的登录脚本,它已经证明非常棒。但是,现在我正在尝试使用它。我正在尝试在名为“id”的行的开头创建一个新表,该表具有主键或 AI,而不是表用户名。据我所知,只有一个表可以有主键或 AI,但是当我尝试创建这个“id”表时,脚本无法注册。我没有收到 ACTUAL 错误,但我在尝试登录后收到此消息“

很抱歉,发生错误,您的用户名注册(尝试在此处注册的用户名)无法完成。
请稍后再试。”

当我尝试改变它时会发生这种情况

CREATE TABLE users (
 username varchar(30) primary key,
 password varchar(32),
 userid varchar(32),
 userlevel tinyint(1) unsigned not null,
 email varchar(50),
 timestamp int(11) unsigned not null
);

对此:

CREATE TABLE users (
 id int(11) NOT NULL auto_increment,
 username varchar(30),
 password varchar(32),
 userid varchar(32),
 userlevel tinyint(1) unsigned not null,
 email varchar(50),
 timestamp int(11) unsigned not null
);

从收到这个错误开始,我相信它与我的代码而不是 SQL 有关。我有 3 个页面会影响注册,register.php、process.php 和 session.php 我将发布所有 3 个页面的链接,以便任何人都可以自己查看“ http://pastebin.com/5efyZdgF ”(请忘记错误,我在开头拼错了register.php)

如果有人可以提供帮助,我将非常感激,因为我没有机会完成这项工作。我确实非常了解 PHP,所以如果有人至少能指出我的错误,我很可能会从那里纠正它。

4

2 回答 2

0

这是因为 A_I 必须是整数 (int)

这是因为整数根据上一个表增加。如果这是一个varchar或其他(不与数字相关),一个字母如何根据上一个表增加值?它不能..

AI 用于最小化表中的重复行

于 2013-04-06T22:42:49.993 回答
0

我不使用 MySQL,所以我快速浏览了文档。看起来语法类似于我使用的 redbrick。

create table myTable (
myTableId int not null auto_increment
, more fields
, constraint myTablePk primary key (myTableId)
于 2013-04-06T23:10:08.657 回答