我从phpmyadmin导出此代码到另一个我使用的数据库,我不知道为什么我不能再次无错误使用它。
-phpMyAdmin SQL转储 -版本4.8.1 -https://www.phpmyadmin.net/ -
-- Host: 127.0.0.1
-- Generation Time: Aug 14, 2018 at 07:42 PM
-- Server version: 10.1.33-MariaDB
-- PHP Version: 7.2.6
设置 SQL_MODE =“ NO_AUTO_VALUE_ON_ZERO”; 组 自动提交= 0; 开始交易 ; 组 time_zone =“ +00:00”; -
-- Table structure for table `regusers`
--
创建表regusers
(
UserID
INT(11)NOT NULL,
Firstname
VARCHAR(50)NOT NULL,
Surname
VARCHAR(50)NOT NULL,
Email
VARCHAR(50)NOT NULL,
Password
CHAR(255)NOT NULL,
DateRegistered
DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
)引擎= InnoDB默认字符集= utf8; -出现错误,提示“应输入符号名称!”
-转储表的索引
-表users
更改表
regusers
添加主键(UserID
);
-
-- AUTO_INCREMENT for dumped tables
-- AUTO_INCREMENT for table `users`
更改表
regusers
修改UserID
INT(11)NOT NULL AUTO_INCREMENT,
AUTO_INCREMENT = 3;
承诺
;
/ *!40101
组
CHARACTER_SET_CLIENT = @OLD_CHARACTER_SET_CLIENT /;
/ !40101
组
CHARACTER_SET_RESULTS = @OLD_CHARACTER_SET_RESULTS /;
/ !40101
组
COLLATION_CONNECTION = @OLD_COLLATION_CONNECTION * /;
答案 0 :(得分:0)
据我对您的问题的理解,该错误在以下代码段之后出现:
CREATE TABLE regusers(
UserID INT(11) NOT NULL,
Firstname VARCHAR(50) NOT NULL,
Surname VARCHAR(50) NOT NULL,
Email VARCHAR(50) NOT NULL,
Password CHAR(255) NOT NULL,
DateRegistered DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
)
ENGINE = InnoDB DEFAULT CHARSET = utf8;
问题是DateRegistered
列定义之后的多余逗号。
此外,我建议不要使用Password
作为列名,因为它是reserved keyword。