Domanda

I've created a login system. I have SOME knowledge of MYSQL and I would like to have this big junk of code revised.

This is the code:

DROP TABLE IF EXISTS users;
DROP TABLE IF EXISTS Country;
CREATE TABLE Country(
    country_code                char(2) not null,
    country_name                varchar(60) not null,
    primary key(country_code)
)
CREATE TABLE users(
    pk_user                     int unsigned not null auto_increment,
    email                       varchar(120) not null,
    flname                      varchar(100) not null,
    password                    varchar(64) not null,
    country_code                char(2) not null,
    usr_ip                      varchar(15),
    usr_nmb_logins              int(10) unsigned not null default 0,
    usr_signup_date             timestamp not null default CURRENT_TIMESTAMP,
    usr_userid                  varchar(32),
    usr_confirm_hash            varchar(255) not null,                  # for the account confirmation
    usr_is_confirmed            tinyint(1) not null default 0,          # after confirming its set to 1
    usr_resetpassword_hash      varchar(255) not null,                  # when the user resets password (forgot password)
    usr_is_blocked              tinyint(1) not null default 0,          # blocked or not
    usr_is_admin                tinyint(1) not null default 0,          # admin or not
    foreign key(country_code)   references Country(country_code),
    unique index(email),
    primary key(pk_user)
)

Also there is a LARGE amount of inserts like the following:

insert into Country(country_code,country_name) values("n","?");

This is the first one out of AT LEAST a hundred in the same format.

This is the error PHPMyAdmin is giving me:

#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 'CREATE TABLE users(
    pk_user                     int unsigned not null auto_increment,
    ema' at line 6

But when I take out that error or fix it way more appear and to tell you the truth I don't know what to do.

È stato utile?

Soluzione

CREATE TABLE Country(
    country_code                char(2) not null,
    country_name                varchar(60) not null,
    primary key(country_code)
);
CREATE TABLE users(
    pk_user                     int unsigned not null auto_increment,
    email                       varchar(120) not null,
    flname                      varchar(100) not null,
    password                    varchar(64) not null,
    country_code                char(2) not null,
    usr_ip                      varchar(15),
    usr_nmb_logins              int(10) unsigned not null default 0,
    usr_signup_date             timestamp not null default CURRENT_TIMESTAMP,
    usr_userid                  varchar(32),
    usr_confirm_hash            varchar(255) not null,                  # for the account confirmation
    usr_is_confirmed            tinyint(1) not null default 0,          # after confirming its set to 1
    usr_resetpassword_hash      varchar(255) not null,                  # when the user resets password (forgot password)
    usr_is_blocked              tinyint(1) not null default 0,          # blocked or not
    usr_is_admin                tinyint(1) not null default 0,          # admin or not
    foreign key(country_code)   references Country(country_code),
    unique index(email),
    primary key(pk_user)
);
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top