这个非常简单的mysql create table语句有什么问题?

时间:2013-09-06 13:38:02

标签: mysql sql mariadb

create table foo(
id UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
barbaz VARCHAR(50) CHARACTER SET utf8
)

[编辑]:好的,我不小心删除了INT而我没有意识到(这些语句是自动生成的)。[ /编辑]

这给了我这个错误:

您的SQL语法有错误;检查与您的MariaDB服务器版本对应的手册,以便在'UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY附近使用正确的语法, barbaz VARCHAR(50)CHARACTER SET'

是的,我正在使用Maria DB,因为它取代了Fedora中的mysql,但据说它与Mysql的语法完全相同。

感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

UNSIGNED不是一种类型。您需要指定类型(最有可能是INT):

id INT UNSIGNED ...

答案 1 :(得分:0)

试试这个:

  CREATE TABLE `foo`(  
  `id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
  `barbaz` VARCHAR(50) CHARSET utf8,
  PRIMARY KEY (`id`)
);
相关问题