我的MYSQL代码不会通过语法检查器运行

我的MYSQL代码不会通过语法检查器运行,mysql,sql,Mysql,Sql,在线SQL语法检查器一直在对我的简单SQL代码胡说八道,我不明白为什么 CREATE DATABASE IF NOT EXISTS DB ; USE DB ; CREATE TABLE IF NOT EXISTS teachers( ID INT NOT NULL AUTO INCREMENT, LAST_NAME TEXT, FIRST_NAME TEXT, COMPUTER_ID TEXT); 我几乎是从一些SQL示例中复制了这段代码。我正在使用mySQL并在SQ

在线SQL语法检查器一直在对我的简单SQL代码胡说八道,我不明白为什么

CREATE DATABASE IF NOT EXISTS DB ;
USE DB ;
CREATE TABLE IF NOT EXISTS teachers( 
   ID INT NOT NULL AUTO INCREMENT,
   LAST_NAME TEXT,
   FIRST_NAME TEXT,
   COMPUTER_ID TEXT);

我几乎是从一些SQL示例中复制了这段代码。我正在使用mySQL并在SQLfiddle.com上进行测试,该网站设置为使用mySQL 5.6。它说,如果我有前两行,用户“user_9_79940c”@“%”对数据库“db”的访问被拒绝,如果我删除了前两行,它说关于create table,我在AUTO INCREMENT附近有一个语法错误。首先,不允许在SQLFiddle上创建或切换数据库。在您自己的MySQL实例上,您可能能够,这取决于您拥有的权限。这就是为什么前两行在SQLFIDLE中不起作用;数据库是为您预先创建和选择的,您将在其中进行沙盒处理

createtable命令将抛出一个语法错误,抱怨AUTO-INCREMENT-这不是一个关键字,它应该被写为AUTO\u INCREMENT

仍然存在一个错误:只能有一个自动列,并且必须将其定义为键。只有一个自动列,但它还不是键。因此,我们将通过添加主键使其成为一个。这项工作:

CREATE TABLE IF NOT EXISTS teachers( 
   ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
   LAST_NAME TEXT,
   FIRST_NAME TEXT,
   COMPUTER_ID TEXT);

请注意,主键将暗示NOTNULL,因此NOTNULL是不必要的,可以删除而不产生任何后果。

没有字符串数据类型,请尝试使用VARCHARLENGTH或TEXT。给我大量的废话是绝对没有用的问题描述。在没有问题描述的情况下,您在这里转储的SQL有什么具体问题?当你努力提供这些信息时,你可以把文章的标题改为描述你所遇到的问题或你所提出的问题。每个人的SQL都被破坏了;如果不是,他们就不会把它贴在这里寻求帮助。你的标题应该是一些对将来的用户有用的东西,这些用户可以在搜索结果列表中看到你的标题。你使用的是sql server还是mysql?创建表(如果不存在)将无法与sql server一起使用。请提供您想要的详细信息,以及到目前为止您所做的工作是否存在错误?在我做了什么之后,你会去看医生并说医生,某处疼吗?请注意,出现错误消息是有原因的。什么样的错误?哪里编辑后:语法错误,在哪里?我碰巧自己做了诊断,但是。。。您不能确定下一个问题是否会像远程诊断一样容易。使其自动递增主键修复了创建表体,但我不明白为什么。create db和use db线路仍会出现访问被拒绝错误。那会是网站吗?