mysql> INSERT INTO `mydatabase`.`electricity` (`data`, `room_no`, `value`) VALUES ('04-01-01', '119710', 140); 1142 - INSERT command denied to user 'root'@'117.141.0.18' for table 'electricity'
时间: 2023-07-09 18:34:22 浏览: 41
这个错误提示是因为当前 MySQL 用户(即 'root'@'117.141.0.18')没有向 'electricity' 表中插入数据的权限。你需要给该用户授予相应的权限才能执行 INSERT 操作。
你可以使用以下命令来授予该用户对 'electricity' 表的 INSERT 权限:
```
GRANT INSERT ON mydatabase.electricity TO 'root'@'117.141.0.18';
```
执行完上述命令后,该用户就能够向 'electricity' 表中插入数据了。如果你想给该用户授予其他操作权限,可以使用类似的 GRANT 命令进行设置。
相关问题
mysql> GRANT INSERT ON mydatabase.electricity TO 'root'@'117.141.0.18'; 1142 - INSERT command denied to user 'root'@'117.141.0.18' for table 'electricity' 还是报错怎么回事?
如果你执行了 GRANT 命令后,还是无法插入数据并报错,那么可能是因为你没有刷新权限。你可以使用以下命令刷新权限后再试一下:
```
FLUSH PRIVILEGES;
```
这个命令会重新加载 MySQL 的权限表,使新的授权设置生效。执行完该命令后,再尝试插入数据,看看是否还会报错。如果还有问题,请提供详细的错误信息,我会尽力帮你解决。
mysql information_schema.tables data_length,index_length详解
`information_schema.tables` 是 MySQL 中的一个元数据表,它包含了关于所有数据库中表的信息。其中,`data_length` 和 `index_length` 字段分别表示该表占用的磁盘空间中数据和索引的大小。
`data_length` 表示数据占用的磁盘空间的大小,即表中所有行的数据占用的空间总和。注意,它不包括表结构、行格式、行头等元数据的大小。
`index_length` 表示索引占用的磁盘空间的大小,即表中所有索引占用的空间总和。注意,它不包括数据和元数据的大小。
这两个字段的单位是字节。可以通过查询 `information_schema.tables` 表获取某个表的 `data_length` 和 `index_length` 字段的值:
```sql
SELECT table_name, data_length, index_length
FROM information_schema.tables
WHERE table_schema = 'mydatabase' AND table_name = 'mytable';
```
其中,`table_schema` 表示数据库名,`table_name` 表示表名。该查询将返回指定表的 `data_length` 和 `index_length` 字段的值。