2015-06-12 54 views
0

我試圖通過終端在我的數據庫中創建一個表。嘗試通過終端在MySQL中創建表的錯誤

這裏是我的語法:

CREATE TABLE `users` (
    PRIMARY KEY(id) NOT NULL AUTO_INCREMENT, 
    `last_name` VARCHAR NOT NULL, 
    `first_name` VARCHAR NOT NULL, 
    `gender` VARCHAR NOT NULL, 
    `fav_color` VARCHAR NOT NULL, 
    `birthdate` DATE NOT NULL 
); 

我收到此錯誤:

ERROR 1064 (42000): 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 'NOT NULL AUTO_INCREMENT, 
`last_name` VARCHAR NOT NULL, 
`first_name` VARCHA' at line 2 

我是什麼洞錯在這裏?

回答

3

除了問題,即延和馬克指出,你必須聲明你的VARCHAR字段的長度,以便該聲明的工作,像這樣:

CREATE TABLE `test`.`users` (
    `id` INT NOT NULL AUTO_INCREMENT, 
    `last_name` VARCHAR(45) NOT NULL, 
    `first_name` VARCHAR(45) NOT NULL, 
    `gender` VARCHAR(45) NOT NULL, 
    `fav_color` VARCHAR(45) NOT NULL, 
    `birthdate` DATE NOT NULL, 
    PRIMARY KEY (`id`)); 
2

您創建語句的語法是錯誤的:

正確的一個是這樣的:

CREATE TABLE `users` (
    `id` int NOT NULL AUTO_INCREMENT, 
    `last_name` VARCHAR(255) NOT NULL, 
    `first_name` VARCHAR(255) NOT NULL, 
    `gender` VARCHAR(255) NOT NULL, 
    `fav_color` VARCHAR(255) NOT NULL, 
    `birthdate` DATE NOT NULL, 
    PRIMARY KEY(`id`) 
); 

欲瞭解更多信息,請參閱offical documentation

1

應該

id int primary key auto_increment not null 

你試圖定義上不存在的場主鍵。鍵不能是「不爲空」,絕對不能是「auto_increment」。

+0

這仍然給了我同樣的錯誤,但引用像3而不是第2行 – Dear1ofGdBear

+0

不要忘記把逗號放在最後...... –

+0

是的,我把逗號放在那裏 – Dear1ofGdBear

相關問題