Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 为什么它总是给我同样的错误?_Sql_Lua - Fatal编程技术网

Sql 为什么它总是给我同样的错误?

Sql 为什么它总是给我同样的错误?,sql,lua,Sql,Lua,所以我想在数据库(es_extended.sql)中放入一个sql文件,它不断地给我错误,比如:重复的列名名称等等 SQL error (1050): Table 'items' already exists 我曾尝试更改列和所有列的名称,但它总是给出相同的错误 代码如下: altertable`users` 添加列'money`VARCHAR(50)默认为空, 在“money”之后添加列“name`VARCHAR(50)NULL DEFAULT”, 在“名称”之后添加列“skin”LONGT

所以我想在数据库
(es_extended.sql)
中放入一个sql文件,它不断地给我错误,比如:重复的列名
名称
等等

SQL error (1050): Table 'items' already exists
我曾尝试更改列和所有列的名称,但它总是给出相同的错误

代码如下:

altertable`users`
添加列'money`VARCHAR(50)默认为空,
在“money”之后添加列“name`VARCHAR(50)NULL DEFAULT”,
在“名称”之后添加列“skin”LONGTEXT NULL,
在'skin'之后添加'job`VARCHAR(50)NULL默认值'unemployee'列,
在“job”之后添加列“job\u grade”INT NULL默认值0,
在“作业等级”之后添加列“加载”LONGTEXT NULL,
在“loadout”之后添加列“position”VARCHAR(36)NULL`
;
创建表“items”(
`name`varchar(50)不为空,
`标签'varchar(50)不为空,
`限制'int(11)不为空默认值'-1',
`罕见的'int(11)非空默认值'0',
`能否删除'int(11)NOT NULL默认值'1',
主键(`name`)
);
创建表“职务等级”(
`id`int(11)非空自动增量,
`job_name`varchar(50)默认为空,
`等级'int(11)不为空,
`name`varchar(50)不为空,
`标签'varchar(50)不为空,
`salary`int(11)不为空,
`skin_male `长文本不为空,
`skin_female `长文本不为空,
主键(`id`)
);
将值(1、‘失业’、‘失业’、‘失业’、‘失业’、‘200’、‘{}’、‘{}’)插入“工作等级”中;
创建表“jobs”(
`name`varchar(50)不为空,
`标签'varchar(50)默认为空,
主键(`name`)
;
在“工作”值中插入(“失业”、“失业”);
创建表“用户帐户”(
`id`int(11)非空自动增量,
`标识符'varchar(22)不为空,
`name`varchar(50)不为空,
`money`double非空默认值'0',
主键(`id`)
);
创建表“用户库存”(
`id`int(11)非空自动增量,
`标识符'varchar(22)不为空,
`项目'varchar(50)不为空,
`count`int(11)不为空,
主键(`id`)
);

Sql数据库是实现以下功能的一种方法:数据应永久保存或至少独立于会话保存

您收到的错误:
SQL错误(1050):表“items”已经存在
表示您已经创建了一个与您尝试创建新表时使用的名称相同的表

无需每次尝试向表中添加数据时都重新创建该表。只要不
删除它或它所属的数据库,该表就是持久的

如果要重新创建表(因为需要更改其架构或希望重新开始),可以运行命令
DROP table items
,该命令将删除表和表中的所有数据

删除后,可以再次运行
创建表项…
命令

如果不想删除该表,只需运行
INSERT INTO items…
命令即可将数据添加到现有表中

SQL错误(xxxx):重复的列名“name”
错误表示您正在尝试添加表中已经存在的列。如果
users
表中已经有一个名为
name
的列,则您无法运行命令
ALTER table users add column“name”…
,而不会出现错误


如果该列不再满足您的需要,您可以使用
ALTER TABLE users ALTER column'name'…
更改该列的架构。

谢谢!但是错误是什么:SQL错误(1060):重复列名“skin”我尝试更改列名,但无效。我编辑了我的答案以包含另一个错误。基本上,看起来您正在尝试添加一个已经存在的列。您需要删除该列,然后再次添加(这将删除该列中的数据)或者您需要修改该列(根据您的修改方式,该列可能会删除数据)。该列已修复,谢谢!