gpt4 book ai didi

MySQL 创建表

转载 作者:行者123 更新时间:2023-11-30 00:04:25 24 4
gpt4 key购买 nike

我是 MySQL 的新手,当我删除“users”表并再次重建它时,我遇到了一个非常棘手的错误。我删除它的原因是:当我之前输入“SELECT * FROM users”时,它显示“users”表不存在,但实际上它确实显示在当前数据库的表列表中。 在此输入代码

    mysql> create table users(
-> name VARCHAR(50),
-> password VARCHAR(50),
-> email VARCHAR(50),
-> online INT,
-> ip VARCHAR(50));
ERROR 1813 (HY000): Tablespace for table '`smartfsusers`.`users`' exists. Please DISCARD the tablespace before IMPORT.
mysql> select * from users;
ERROR 1146 (42S02): Table 'smartfsusers.users' doesn't exist

最佳答案

当数据库损坏或导入中断时,可能会发生这种情况。然而,这里发生的事情是

  1. 有一个users.ibd文件(这意味着innodb表空间中有一个users表)
  2. 没有users.frm(这意味着信息架构中没有用户表)。

如果您在本地运行,一种方法是手动删除/var/lib/mysql 内某处的 users.ibd。仅当您在启用了 file-per-table 选项的情况下运行时,这才有效。

您也可以尝试从命令提示符执行此操作

ALTER TABLE smartsurfers.users DISCARD TABLESPACE

您还可以尝试停止 mysqld 并运行 mysqlcheck

mysqlcheck -u youruser -p smartsurfers

关于MySQL 创建表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24714291/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com