创建表MySql时出错 - (错误号:150)

时间:2014-12-22 11:29:24

标签: mysql create-table

我对此脚本有疑问。有人能帮助我吗?

ERROR 1005: Can't create table 'db_new.users_roles' (errno: 150)
SQL Statement:
CREATE TABLE `luxury`.`users_roles` (
  `id` INT NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`id`))

在数据库中有表格"用户"和#34;角色"。 " users_roles"是ManyToMany Hibernate的表格

3 个答案:

答案 0 :(得分:0)

尝试这样一次,

CREATE TABLE IF NOT EXISTS `users_roles` (
  `id` int(12) NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

答案 1 :(得分:0)

也许尝试以下

检查用户的所有权限。

select user,host from mysql.user;

找到授予特定MySQL帐户的权限:

show grants for 'root'@'%';

分析你的表

analyze table luxury

优化

optimize table luxury

再次运行脚本

答案 2 :(得分:0)

@Anele这是您的方法返回的结果:

mysql> select user,host from mysql.user;
+------------------+----------------+
| user             | host           |
+------------------+----------------+
| root             | %              |
| root             | 127.0.0.1      |
| root             | 95.110.190.185 |
| root             | ::1            |
| admin            | localhost      |
| debian-sys-maint | localhost      |
| root             | localhost      |
| root             | luxury         |
| root             | somehost       |
+------------------+----------------+
9 rows in set (0.00 sec)


mysql> show grants for 'root'@'%';
+--------------------------------------------------------------------------------------------------------------------------------+
| Grants for root@%                                                                                                              |
+--------------------------------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY PASSWORD '*CC06F61FF8BD3C6AD10D57E28E340FB097DDD' WITH GRANT OPTION |
+--------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

mysql> analyze table luxury;
+---------------+---------+----------+-------------------------------------+
| Table         | Op      | Msg_type | Msg_text                            |
+---------------+---------+----------+-------------------------------------+
| luxury.luxury | analyze | Error    | Table 'luxury.luxury' doesn't exist |
| luxury.luxury | analyze | status   | Operation failed                    |
+---------------+---------+----------+-------------------------------------+
2 rows in set (0.00 sec)

mysql> optimize table luxury;
+---------------+----------+----------+-------------------------------------+
| Table         | Op       | Msg_type | Msg_text                            |
+---------------+----------+----------+-------------------------------------+
| luxury.luxury | optimize | Error    | Table 'luxury.luxury' doesn't exist |
| luxury.luxury | optimize | status   | Operation failed                    |
+---------------+----------+----------+-------------------------------------+
2 rows in set (0.00 sec)
相关问题