一个MySQL数据库可以有两张一样的表吗?

时间:2021-02-18 14:55:42
两个用户共用同一个数据库,分别使用这两个用户登录在同一个数据库中创建一张表,这两张表一模一样,但不同的用户查询时,查询到的是属于自己的那张表,可以这样吗??? 注意是MySQL。

24 个解决方案

#1


个人理解:

Oracle的表空间和表都是逻辑上的概念,一个表空间里面可以有两张一模一样的表,但它们是按用户区分的,为一个新用户分配一个表空间时,即使这个表空间里面已经有表了,但对这个新用户来说他一张表都没有。

MySQL用户直接使用磁盘上实实在在的数据库和表,这些数据库和表都是以目录和文件的形式存在的,并不是逻辑上的,所以同一数据库(目录)下的表(文件)不能重名。

这样理解对吗???

顺带问一句:为什么一个问题问两次就不能发帖了???

#2


没有弄过,不过个人还是觉得你取不同的表名比较好!

#3


明显不行!
首先在一个数据库里存两张一样的表的意义是什么?放一张表然后访问相同的内容,既节省空间又方便管理。
其次,你在一个库里放两张表,不同的用户怎么查到属于自己的表?你这逻辑就有问题。

#4


同意樓上。邏輯有點混亂。
爲什麽要弄兩張一樣的,如果查的是一樣的内容的話,沒必要分兩張呀。
如果是記錄不一樣,表結構一樣的話,可以加個用戶字段,然後查詢的時候查詢條件加上用戶id就可以啦。

#5


估计你是想让不同用户分组查不同用户的信息吧?你可以建另一个用户分组的表,把两张表连起来

#6


引用 1 楼 zengqingme1 的回复:
个人理解:

Oracle的表空间和表都是逻辑上的概念,一个表空间里面可以有两张一模一样的表,但它们是按用户区分的,为一个新用户分配一个表空间时,即使这个表空间里面已经有表了,但对这个新用户来说他一张表都没有。

MySQL用户直接使用磁盘上实实在在的数据库和表,这些数据库和表都是以目录和文件的形式存在的,并不是逻辑上的,所以同一数据库(目录)下的表(文件)不能重名。

这样理解对吗???

顺带问一句:为什么一个问题问两次就不能发帖了???


看到标题时就想说,楼主的这种需求在 oracle 里是可以滴,但是在MySQL,包括其它数据库都是不可以滴
本人用过 SQL Server、Oracle、MySQL(DB2看别人用于),但发现 Oracle 里居然在同一个库里建两个相同名字的表时,是相当惊讶的。

#7


引用 3 楼 h89647964 的回复:
明显不行!
首先在一个数据库里存两张一样的表的意义是什么?放一张表然后访问相同的内容,既节省空间又方便管理。
其次,你在一个库里放两张表,不同的用户怎么查到属于自己的表?你这逻辑就有问题。


这个,在Oracle 是可以的,但要属于不同的用户。Oracle会为每个用户创建一个Schema,只要同一个 schema 下名称不同就可以。
在 MySQL 里,新建一个库可能不到一秒钟,无论你创建多少个库,都只有一个MySQL服务
但是在 Oracle 里,新建一个数据库要十多分钟,并且在Windows下,一个库还是一个专用的服务,可以单独启停的

#8


你可以用分区表吧。
不过我不太清楚分区是否能设置用户的权限。

#9


引用 6 楼 hemowolf 的回复:
Quote: 引用 1 楼 zengqingme1 的回复:

个人理解:

Oracle的表空间和表都是逻辑上的概念,一个表空间里面可以有两张一模一样的表,但它们是按用户区分的,为一个新用户分配一个表空间时,即使这个表空间里面已经有表了,但对这个新用户来说他一张表都没有。

MySQL用户直接使用磁盘上实实在在的数据库和表,这些数据库和表都是以目录和文件的形式存在的,并不是逻辑上的,所以同一数据库(目录)下的表(文件)不能重名。

这样理解对吗???

顺带问一句:为什么一个问题问两次就不能发帖了???


看到标题时就想说,楼主的这种需求在 oracle 里是可以滴,但是在MySQL,包括其它数据库都是不可以滴
本人用过 SQL Server、Oracle、MySQL(DB2看别人用于),但发现 Oracle 里居然在同一个库里建两个相同名字的表时,是相当惊讶的。

所以Oracle是当前用户下有多少张表,一般不同的项目使用不同的用户。
其他数据库是当前数据库目录中有多少张表,一般不同的项目使用不同的数据库,但一个用户可以使用多个数据库(只要有权限)。
对吗???

#10


引用 9 楼 zengqingme1 的回复:
Quote: 引用 6 楼 hemowolf 的回复:

Quote: 引用 1 楼 zengqingme1 的回复:

个人理解:

Oracle的表空间和表都是逻辑上的概念,一个表空间里面可以有两张一模一样的表,但它们是按用户区分的,为一个新用户分配一个表空间时,即使这个表空间里面已经有表了,但对这个新用户来说他一张表都没有。

MySQL用户直接使用磁盘上实实在在的数据库和表,这些数据库和表都是以目录和文件的形式存在的,并不是逻辑上的,所以同一数据库(目录)下的表(文件)不能重名。

这样理解对吗???

顺带问一句:为什么一个问题问两次就不能发帖了???


看到标题时就想说,楼主的这种需求在 oracle 里是可以滴,但是在MySQL,包括其它数据库都是不可以滴
本人用过 SQL Server、Oracle、MySQL(DB2看别人用于),但发现 Oracle 里居然在同一个库里建两个相同名字的表时,是相当惊讶的。

所以Oracle是当前用户下有多少张表,一般不同的项目使用不同的用户。
其他数据库是当前数据库目录中有多少张表,一般不同的项目使用不同的数据库,但一个用户可以使用多个数据库(只要有权限)。
对吗???


SQL Server 和 MySQL 基本上是这样的
一个项目使用一个库,可以为不同的用户分配不同的访问权限
相比而言,是Oracle的这种管理模式显得特立独行了

#11


引用 10 楼 hemowolf 的回复:
Quote: 引用 9 楼 zengqingme1 的回复:

Quote: 引用 6 楼 hemowolf 的回复:

Quote: 引用 1 楼 zengqingme1 的回复:

个人理解:

Oracle的表空间和表都是逻辑上的概念,一个表空间里面可以有两张一模一样的表,但它们是按用户区分的,为一个新用户分配一个表空间时,即使这个表空间里面已经有表了,但对这个新用户来说他一张表都没有。

MySQL用户直接使用磁盘上实实在在的数据库和表,这些数据库和表都是以目录和文件的形式存在的,并不是逻辑上的,所以同一数据库(目录)下的表(文件)不能重名。

这样理解对吗???

顺带问一句:为什么一个问题问两次就不能发帖了???


看到标题时就想说,楼主的这种需求在 oracle 里是可以滴,但是在MySQL,包括其它数据库都是不可以滴
本人用过 SQL Server、Oracle、MySQL(DB2看别人用于),但发现 Oracle 里居然在同一个库里建两个相同名字的表时,是相当惊讶的。

所以Oracle是当前用户下有多少张表,一般不同的项目使用不同的用户。
其他数据库是当前数据库目录中有多少张表,一般不同的项目使用不同的数据库,但一个用户可以使用多个数据库(只要有权限)。
对吗???


SQL Server 和 MySQL 基本上是这样的
一个项目使用一个库,可以为不同的用户分配不同的访问权限
相比而言,是Oracle的这种管理模式显得特立独行了

Oracle这种模式更先进,你根本无法从硬盘上直接查看一个数据库有哪些表,硬盘上看到的只是一些数据库文件,这些文件会进行逻辑上的划分成多个表空间,一个表空间可能分布在多个文件上(但一个文件只服务于一个表空间),每个用户可以使用多个表空间来放表,而且可以共用同一表空间,但表是属于用户的,不同用户的表互不影响,必须登陆了才能看到当前用户有哪些表。如果一个MySQL数据库是一间房的话,那一个Oracle数据库就是一栋楼了。

#12


mysql肯定不可以

#13


引用 11 楼 zengqingme1 的回复:
Quote: 引用 10 楼 hemowolf 的回复:

Quote: 引用 9 楼 zengqingme1 的回复:

Quote: 引用 6 楼 hemowolf 的回复:

Quote: 引用 1 楼 zengqingme1 的回复:

个人理解:

Oracle的表空间和表都是逻辑上的概念,一个表空间里面可以有两张一模一样的表,但它们是按用户区分的,为一个新用户分配一个表空间时,即使这个表空间里面已经有表了,但对这个新用户来说他一张表都没有。

MySQL用户直接使用磁盘上实实在在的数据库和表,这些数据库和表都是以目录和文件的形式存在的,并不是逻辑上的,所以同一数据库(目录)下的表(文件)不能重名。

这样理解对吗???

顺带问一句:为什么一个问题问两次就不能发帖了???


看到标题时就想说,楼主的这种需求在 oracle 里是可以滴,但是在MySQL,包括其它数据库都是不可以滴
本人用过 SQL Server、Oracle、MySQL(DB2看别人用于),但发现 Oracle 里居然在同一个库里建两个相同名字的表时,是相当惊讶的。

所以Oracle是当前用户下有多少张表,一般不同的项目使用不同的用户。
其他数据库是当前数据库目录中有多少张表,一般不同的项目使用不同的数据库,但一个用户可以使用多个数据库(只要有权限)。
对吗???


SQL Server 和 MySQL 基本上是这样的
一个项目使用一个库,可以为不同的用户分配不同的访问权限
相比而言,是Oracle的这种管理模式显得特立独行了

Oracle这种模式更先进,你根本无法从硬盘上直接查看一个数据库有哪些表,硬盘上看到的只是一些数据库文件,这些文件会进行逻辑上的划分成多个表空间,一个表空间可能分布在多个文件上(但一个文件只服务于一个表空间),每个用户可以使用多个表空间来放表,而且可以共用同一表空间,但表是属于用户的,不同用户的表互不影响,必须登陆了才能看到当前用户有哪些表。如果一个MySQL数据库是一间房的话,那一个Oracle数据库就是一栋楼了。


Oracle 的模式不评说是否先进,可能你习惯了吧
MySQL 则过于简单,在 Windows 下的安装程序只有不到200M,提供的功能也是最简单的,最初本人看到 MySQL 中的视图居然不支持子查询,简直要直接放弃它,发誓永远不用它
从开发者角度看,最好用的还是SQL Server

#14


表名一样,应该不行吧!!!

#15


楼主应该想做分表设计,不过感觉根据不同用户来分表不大合适。

一般根据不同类型,比如订单状态,待支付、已完成等等状态来分表比较靠谱点,但是还是具体问题具体分析。

#16


My Sql 不可以创建相同表名的表。

#17


引用 13 楼 hemowolf 的回复:
Quote: 引用 11 楼 zengqingme1 的回复:

Quote: 引用 10 楼 hemowolf 的回复:

Quote: 引用 9 楼 zengqingme1 的回复:

Quote: 引用 6 楼 hemowolf 的回复:

Quote: 引用 1 楼 zengqingme1 的回复:

个人理解:

Oracle的表空间和表都是逻辑上的概念,一个表空间里面可以有两张一模一样的表,但它们是按用户区分的,为一个新用户分配一个表空间时,即使这个表空间里面已经有表了,但对这个新用户来说他一张表都没有。

MySQL用户直接使用磁盘上实实在在的数据库和表,这些数据库和表都是以目录和文件的形式存在的,并不是逻辑上的,所以同一数据库(目录)下的表(文件)不能重名。

这样理解对吗???

顺带问一句:为什么一个问题问两次就不能发帖了???


看到标题时就想说,楼主的这种需求在 oracle 里是可以滴,但是在MySQL,包括其它数据库都是不可以滴
本人用过 SQL Server、Oracle、MySQL(DB2看别人用于),但发现 Oracle 里居然在同一个库里建两个相同名字的表时,是相当惊讶的。

所以Oracle是当前用户下有多少张表,一般不同的项目使用不同的用户。
其他数据库是当前数据库目录中有多少张表,一般不同的项目使用不同的数据库,但一个用户可以使用多个数据库(只要有权限)。
对吗???


SQL Server 和 MySQL 基本上是这样的
一个项目使用一个库,可以为不同的用户分配不同的访问权限
相比而言,是Oracle的这种管理模式显得特立独行了

Oracle这种模式更先进,你根本无法从硬盘上直接查看一个数据库有哪些表,硬盘上看到的只是一些数据库文件,这些文件会进行逻辑上的划分成多个表空间,一个表空间可能分布在多个文件上(但一个文件只服务于一个表空间),每个用户可以使用多个表空间来放表,而且可以共用同一表空间,但表是属于用户的,不同用户的表互不影响,必须登陆了才能看到当前用户有哪些表。如果一个MySQL数据库是一间房的话,那一个Oracle数据库就是一栋楼了。


Oracle 的模式不评说是否先进,可能你习惯了吧
MySQL 则过于简单,在 Windows 下的安装程序只有不到200M,提供的功能也是最简单的,最初本人看到 MySQL 中的视图居然不支持子查询,简直要直接放弃它,发誓永远不用它
从开发者角度看,最好用的还是SQL Server

最近才开始研究 一个MySQL数据库可以有两张一样的表吗?

#18


mysql肯定不能创建同名表啊

#19


分schema 一个MySQL数据库可以有两张一样的表吗?

好吧不要抽我

#20


说那么多干什么···不要讨论好坏··先把2张同名表建好再说

#21


我想楼主可能需要权限查找不一样的元素,这样并不需要两张相同名字的表

#22


一个MySQL数据库可以有两张一样的表吗?

#23


自己动手试下,我感觉不行,你创建数据库的时候估计就会提示你了

#24


其实仔细想是肯定不行的,不管你的哪个用户创建,最终都是用system最高权限来管理所有的用户,如果你在不同的用户中创建相同的表,也就是在system用户会出现两张一样的表。这样是肯定不合理的!

#1


个人理解:

Oracle的表空间和表都是逻辑上的概念,一个表空间里面可以有两张一模一样的表,但它们是按用户区分的,为一个新用户分配一个表空间时,即使这个表空间里面已经有表了,但对这个新用户来说他一张表都没有。

MySQL用户直接使用磁盘上实实在在的数据库和表,这些数据库和表都是以目录和文件的形式存在的,并不是逻辑上的,所以同一数据库(目录)下的表(文件)不能重名。

这样理解对吗???

顺带问一句:为什么一个问题问两次就不能发帖了???

#2


没有弄过,不过个人还是觉得你取不同的表名比较好!

#3


明显不行!
首先在一个数据库里存两张一样的表的意义是什么?放一张表然后访问相同的内容,既节省空间又方便管理。
其次,你在一个库里放两张表,不同的用户怎么查到属于自己的表?你这逻辑就有问题。

#4


同意樓上。邏輯有點混亂。
爲什麽要弄兩張一樣的,如果查的是一樣的内容的話,沒必要分兩張呀。
如果是記錄不一樣,表結構一樣的話,可以加個用戶字段,然後查詢的時候查詢條件加上用戶id就可以啦。

#5


估计你是想让不同用户分组查不同用户的信息吧?你可以建另一个用户分组的表,把两张表连起来

#6


引用 1 楼 zengqingme1 的回复:
个人理解:

Oracle的表空间和表都是逻辑上的概念,一个表空间里面可以有两张一模一样的表,但它们是按用户区分的,为一个新用户分配一个表空间时,即使这个表空间里面已经有表了,但对这个新用户来说他一张表都没有。

MySQL用户直接使用磁盘上实实在在的数据库和表,这些数据库和表都是以目录和文件的形式存在的,并不是逻辑上的,所以同一数据库(目录)下的表(文件)不能重名。

这样理解对吗???

顺带问一句:为什么一个问题问两次就不能发帖了???


看到标题时就想说,楼主的这种需求在 oracle 里是可以滴,但是在MySQL,包括其它数据库都是不可以滴
本人用过 SQL Server、Oracle、MySQL(DB2看别人用于),但发现 Oracle 里居然在同一个库里建两个相同名字的表时,是相当惊讶的。

#7


引用 3 楼 h89647964 的回复:
明显不行!
首先在一个数据库里存两张一样的表的意义是什么?放一张表然后访问相同的内容,既节省空间又方便管理。
其次,你在一个库里放两张表,不同的用户怎么查到属于自己的表?你这逻辑就有问题。


这个,在Oracle 是可以的,但要属于不同的用户。Oracle会为每个用户创建一个Schema,只要同一个 schema 下名称不同就可以。
在 MySQL 里,新建一个库可能不到一秒钟,无论你创建多少个库,都只有一个MySQL服务
但是在 Oracle 里,新建一个数据库要十多分钟,并且在Windows下,一个库还是一个专用的服务,可以单独启停的

#8


你可以用分区表吧。
不过我不太清楚分区是否能设置用户的权限。

#9


引用 6 楼 hemowolf 的回复:
Quote: 引用 1 楼 zengqingme1 的回复:

个人理解:

Oracle的表空间和表都是逻辑上的概念,一个表空间里面可以有两张一模一样的表,但它们是按用户区分的,为一个新用户分配一个表空间时,即使这个表空间里面已经有表了,但对这个新用户来说他一张表都没有。

MySQL用户直接使用磁盘上实实在在的数据库和表,这些数据库和表都是以目录和文件的形式存在的,并不是逻辑上的,所以同一数据库(目录)下的表(文件)不能重名。

这样理解对吗???

顺带问一句:为什么一个问题问两次就不能发帖了???


看到标题时就想说,楼主的这种需求在 oracle 里是可以滴,但是在MySQL,包括其它数据库都是不可以滴
本人用过 SQL Server、Oracle、MySQL(DB2看别人用于),但发现 Oracle 里居然在同一个库里建两个相同名字的表时,是相当惊讶的。

所以Oracle是当前用户下有多少张表,一般不同的项目使用不同的用户。
其他数据库是当前数据库目录中有多少张表,一般不同的项目使用不同的数据库,但一个用户可以使用多个数据库(只要有权限)。
对吗???

#10


引用 9 楼 zengqingme1 的回复:
Quote: 引用 6 楼 hemowolf 的回复:

Quote: 引用 1 楼 zengqingme1 的回复:

个人理解:

Oracle的表空间和表都是逻辑上的概念,一个表空间里面可以有两张一模一样的表,但它们是按用户区分的,为一个新用户分配一个表空间时,即使这个表空间里面已经有表了,但对这个新用户来说他一张表都没有。

MySQL用户直接使用磁盘上实实在在的数据库和表,这些数据库和表都是以目录和文件的形式存在的,并不是逻辑上的,所以同一数据库(目录)下的表(文件)不能重名。

这样理解对吗???

顺带问一句:为什么一个问题问两次就不能发帖了???


看到标题时就想说,楼主的这种需求在 oracle 里是可以滴,但是在MySQL,包括其它数据库都是不可以滴
本人用过 SQL Server、Oracle、MySQL(DB2看别人用于),但发现 Oracle 里居然在同一个库里建两个相同名字的表时,是相当惊讶的。

所以Oracle是当前用户下有多少张表,一般不同的项目使用不同的用户。
其他数据库是当前数据库目录中有多少张表,一般不同的项目使用不同的数据库,但一个用户可以使用多个数据库(只要有权限)。
对吗???


SQL Server 和 MySQL 基本上是这样的
一个项目使用一个库,可以为不同的用户分配不同的访问权限
相比而言,是Oracle的这种管理模式显得特立独行了

#11


引用 10 楼 hemowolf 的回复:
Quote: 引用 9 楼 zengqingme1 的回复:

Quote: 引用 6 楼 hemowolf 的回复:

Quote: 引用 1 楼 zengqingme1 的回复:

个人理解:

Oracle的表空间和表都是逻辑上的概念,一个表空间里面可以有两张一模一样的表,但它们是按用户区分的,为一个新用户分配一个表空间时,即使这个表空间里面已经有表了,但对这个新用户来说他一张表都没有。

MySQL用户直接使用磁盘上实实在在的数据库和表,这些数据库和表都是以目录和文件的形式存在的,并不是逻辑上的,所以同一数据库(目录)下的表(文件)不能重名。

这样理解对吗???

顺带问一句:为什么一个问题问两次就不能发帖了???


看到标题时就想说,楼主的这种需求在 oracle 里是可以滴,但是在MySQL,包括其它数据库都是不可以滴
本人用过 SQL Server、Oracle、MySQL(DB2看别人用于),但发现 Oracle 里居然在同一个库里建两个相同名字的表时,是相当惊讶的。

所以Oracle是当前用户下有多少张表,一般不同的项目使用不同的用户。
其他数据库是当前数据库目录中有多少张表,一般不同的项目使用不同的数据库,但一个用户可以使用多个数据库(只要有权限)。
对吗???


SQL Server 和 MySQL 基本上是这样的
一个项目使用一个库,可以为不同的用户分配不同的访问权限
相比而言,是Oracle的这种管理模式显得特立独行了

Oracle这种模式更先进,你根本无法从硬盘上直接查看一个数据库有哪些表,硬盘上看到的只是一些数据库文件,这些文件会进行逻辑上的划分成多个表空间,一个表空间可能分布在多个文件上(但一个文件只服务于一个表空间),每个用户可以使用多个表空间来放表,而且可以共用同一表空间,但表是属于用户的,不同用户的表互不影响,必须登陆了才能看到当前用户有哪些表。如果一个MySQL数据库是一间房的话,那一个Oracle数据库就是一栋楼了。

#12


mysql肯定不可以

#13


引用 11 楼 zengqingme1 的回复:
Quote: 引用 10 楼 hemowolf 的回复:

Quote: 引用 9 楼 zengqingme1 的回复:

Quote: 引用 6 楼 hemowolf 的回复:

Quote: 引用 1 楼 zengqingme1 的回复:

个人理解:

Oracle的表空间和表都是逻辑上的概念,一个表空间里面可以有两张一模一样的表,但它们是按用户区分的,为一个新用户分配一个表空间时,即使这个表空间里面已经有表了,但对这个新用户来说他一张表都没有。

MySQL用户直接使用磁盘上实实在在的数据库和表,这些数据库和表都是以目录和文件的形式存在的,并不是逻辑上的,所以同一数据库(目录)下的表(文件)不能重名。

这样理解对吗???

顺带问一句:为什么一个问题问两次就不能发帖了???


看到标题时就想说,楼主的这种需求在 oracle 里是可以滴,但是在MySQL,包括其它数据库都是不可以滴
本人用过 SQL Server、Oracle、MySQL(DB2看别人用于),但发现 Oracle 里居然在同一个库里建两个相同名字的表时,是相当惊讶的。

所以Oracle是当前用户下有多少张表,一般不同的项目使用不同的用户。
其他数据库是当前数据库目录中有多少张表,一般不同的项目使用不同的数据库,但一个用户可以使用多个数据库(只要有权限)。
对吗???


SQL Server 和 MySQL 基本上是这样的
一个项目使用一个库,可以为不同的用户分配不同的访问权限
相比而言,是Oracle的这种管理模式显得特立独行了

Oracle这种模式更先进,你根本无法从硬盘上直接查看一个数据库有哪些表,硬盘上看到的只是一些数据库文件,这些文件会进行逻辑上的划分成多个表空间,一个表空间可能分布在多个文件上(但一个文件只服务于一个表空间),每个用户可以使用多个表空间来放表,而且可以共用同一表空间,但表是属于用户的,不同用户的表互不影响,必须登陆了才能看到当前用户有哪些表。如果一个MySQL数据库是一间房的话,那一个Oracle数据库就是一栋楼了。


Oracle 的模式不评说是否先进,可能你习惯了吧
MySQL 则过于简单,在 Windows 下的安装程序只有不到200M,提供的功能也是最简单的,最初本人看到 MySQL 中的视图居然不支持子查询,简直要直接放弃它,发誓永远不用它
从开发者角度看,最好用的还是SQL Server

#14


表名一样,应该不行吧!!!

#15


楼主应该想做分表设计,不过感觉根据不同用户来分表不大合适。

一般根据不同类型,比如订单状态,待支付、已完成等等状态来分表比较靠谱点,但是还是具体问题具体分析。

#16


My Sql 不可以创建相同表名的表。

#17


引用 13 楼 hemowolf 的回复:
Quote: 引用 11 楼 zengqingme1 的回复:

Quote: 引用 10 楼 hemowolf 的回复:

Quote: 引用 9 楼 zengqingme1 的回复:

Quote: 引用 6 楼 hemowolf 的回复:

Quote: 引用 1 楼 zengqingme1 的回复:

个人理解:

Oracle的表空间和表都是逻辑上的概念,一个表空间里面可以有两张一模一样的表,但它们是按用户区分的,为一个新用户分配一个表空间时,即使这个表空间里面已经有表了,但对这个新用户来说他一张表都没有。

MySQL用户直接使用磁盘上实实在在的数据库和表,这些数据库和表都是以目录和文件的形式存在的,并不是逻辑上的,所以同一数据库(目录)下的表(文件)不能重名。

这样理解对吗???

顺带问一句:为什么一个问题问两次就不能发帖了???


看到标题时就想说,楼主的这种需求在 oracle 里是可以滴,但是在MySQL,包括其它数据库都是不可以滴
本人用过 SQL Server、Oracle、MySQL(DB2看别人用于),但发现 Oracle 里居然在同一个库里建两个相同名字的表时,是相当惊讶的。

所以Oracle是当前用户下有多少张表,一般不同的项目使用不同的用户。
其他数据库是当前数据库目录中有多少张表,一般不同的项目使用不同的数据库,但一个用户可以使用多个数据库(只要有权限)。
对吗???


SQL Server 和 MySQL 基本上是这样的
一个项目使用一个库,可以为不同的用户分配不同的访问权限
相比而言,是Oracle的这种管理模式显得特立独行了

Oracle这种模式更先进,你根本无法从硬盘上直接查看一个数据库有哪些表,硬盘上看到的只是一些数据库文件,这些文件会进行逻辑上的划分成多个表空间,一个表空间可能分布在多个文件上(但一个文件只服务于一个表空间),每个用户可以使用多个表空间来放表,而且可以共用同一表空间,但表是属于用户的,不同用户的表互不影响,必须登陆了才能看到当前用户有哪些表。如果一个MySQL数据库是一间房的话,那一个Oracle数据库就是一栋楼了。


Oracle 的模式不评说是否先进,可能你习惯了吧
MySQL 则过于简单,在 Windows 下的安装程序只有不到200M,提供的功能也是最简单的,最初本人看到 MySQL 中的视图居然不支持子查询,简直要直接放弃它,发誓永远不用它
从开发者角度看,最好用的还是SQL Server

最近才开始研究 一个MySQL数据库可以有两张一样的表吗?

#18


mysql肯定不能创建同名表啊

#19


分schema 一个MySQL数据库可以有两张一样的表吗?

好吧不要抽我

#20


说那么多干什么···不要讨论好坏··先把2张同名表建好再说

#21


我想楼主可能需要权限查找不一样的元素,这样并不需要两张相同名字的表

#22


一个MySQL数据库可以有两张一样的表吗?

#23


自己动手试下,我感觉不行,你创建数据库的时候估计就会提示你了

#24


其实仔细想是肯定不行的,不管你的哪个用户创建,最终都是用system最高权限来管理所有的用户,如果你在不同的用户中创建相同的表,也就是在system用户会出现两张一样的表。这样是肯定不合理的!