2011-05-28 102 views
0

按照我书中的说明,我改变了我的表两次。这两个查询在终端报告都是成功的。但是,当我仔细检查PHP MYAdmin时,'FK_project_user'不显示。但是,FK_user_project查询确实显示在数据库中。成功的MYSQL查询不在数据库中显示?

我不确定是否误解了SQL的意图或者是否存在某些问题。我删除了表格并重新整个过程,并得到了相同的结果。

任何人都可以解释一下吗?

mysql> ALTER TABLE `tbl_project_user_assignment` ADD CONSTRAINT `FK_project_user` FOREIGN KEY (`project_id`) REFERENCES `tbl_project` (`id`) ON DELETE CASCADE ON UPDATE RESTRICT; 
Query OK, 0 rows affected (0.21 sec) 
Records: 0 Duplicates: 0 Warnings: 0 

mysql> ALTER TABLE `tbl_project_user_assignment` ADD CONSTRAINT `FK_user_project` FOREIGN KEY (`user_id`) REFERENCES `tbl_user` (`id`) ON DELETE CASCADE ON UPDATE RESTRICT; 
Query OK, 0 rows affected (0.15 sec) 
Records: 0 Duplicates: 0 Warnings: 0 

database

+0

我不想使用级联删除,但这是一个不同的问题。 :) – GolezTrol 2011-05-28 23:27:15

回答

1

试着查询后FLUSH PRIVILEGES;,然后寻找用户。我不确定它是否会起作用。 FLUSH PRIVILEGES告诉mysql服务器从'mysql'数据库中的表中重新载入它的特权信息。

+0

谢谢。我有点新手。你能否提供更多的细节。我是否重做查询并在最后写FLUSH PRIVILEGES?如果不是如何? – Leahcim 2011-05-28 23:33:23

+0

运行查询后,运行第二个查询'FLUSH PRIVILEGES;'。事实上,我也是一个mysql的新手,大多使用ORM层与mysql交互......;)只是试图帮助:) – 2011-05-28 23:36:33

+0

谢谢。我没有再次运行查询。我只是放入了FLUSH PRIVILEGES;它说Query OK零行受到影响。但数据库是一样的 – Leahcim 2011-05-28 23:40:05