专业的SQL Server、MySQL数据库同步软件

首先探索MySQL和SQLServer 2的索引:

在这里我们将不讨论其他索引,让我们首先来看一下MySQL和SQLServer唯一索引的奇怪之处:

首先,用于创建两个数据库的唯一联合索引的语句相同

MySQL:

-建立合并索引

创建唯一索引? stu_login?上? t_login1(stu_name,stu_pwd,login_type,测试);

SQLServer:

-创建索引

在dbo.t_login1上创建唯一索引stu_login(stu_name,stu_pwd,login_type,test);

Oracle:

-创建唯一的联合索引

在t_login1上创建唯一索引stu_login(stu_name,stu_pwd,login_type,test);

查看索引结构

-查看表中的索引结构

从user_indexes中选择*,其中table_name = upper(” T_LOGIN1″);

然后,该例程出现,这时,用于查看两个表的index命令发生了变化

MYSQL:

-在表格中显示索引

显示来自t_login1的索引;

SQLServer:

-查找表的索引

? exec sp_helpindex? t_login1;

Oracle视图表创建语句,表名必须大写:

-获取表创建语句

从双选择dbms_metadata.get_ddl(” TABLE”,” T_LOGIN1″);

如果您认为这是不同的,那么例程更深,请看一下看表结构的语句

MYSQL:

-查看表结构

DESC t_login1;

SQLServer:

-?查看表结构

sp_help t_login1;

sp_columns t_login1;

那么唯一联合索引又如何呢?

甚至更深。首先让我们看一下MYSQL的唯一联合索引。

首先,我们首先插入数据

-插入数据

插入” t_login1″值(” Peng Wanli”,” 1606390234″,” 123456″,” 0″,null);

INSERT INTO`t_login1` VALUES(” Ma Hongyu”,” 1606390235″,” 123456″,” 0″,null);

我已经两次插入这两个数据,结果如下:

postgresql添加联合索引 sql server 联合索引_postgresql添加联合索引

在其他地方我们发现,当测试列为空时,MYSQL允许插入相同的数据(例程1)

然后我们将再插入两个数据

插入” t_login1″值(” Peng Wanli”,” 1606390234″,” 123456″,” 0″,” 2″);

INSERT INTO`t_login1` VALUES(” Peng Wanli”,” 1606390234″,” 123456″,” 0″,” 3″);

结果如图所示:

postgresql添加联合索引 sql server 联合索引_插入数据_02

这两个数据的测试字段不同,因此允许插入

然后,我们将再测试两天的完整数据:

插入” t_login1″值(” Peng Wanli”,” 1606390234″,” 123456″,” 0″,” 4″);

插入” t_login1″值(” Peng Wanli”,” 1606390234″,” 123456″,” 0″,” 4″);

这次例行程序就要来了,请看图片:

postgresql添加联合索引 sql server 联合索引_数据_03

这时,不难看出唯一联合索引发挥了作用。两个相同的数据已成功。

因此,让我们再次看一下SQLServer,可以说这个例程很深:

首先,我们仍然要插入数据:

插入t_login1值(”彭万里”,” 1606390234″,” 123456″,” 0″,空);

INSERT INTO t_login1 VALUES(” Ma Hongyu”,” 1606390235″,” 123456″,” 0″,空);

结果如下:

postgresql添加联合索引 sql server 联合索引_添加联合索引oracle_04

因此,让我们深入了解一下:

插入两个相同的数据,并且一列为空

INSERT INTO t_login1 VALUES(” Zhang Hanfu”,” 1606390236″,” 123456″,” 0″,null);

INSERT INTO t_login1 VALUES(” Zhang Hanfu”,” 1606390236″,” 123456″,” 0″,null);

postgresql添加联合索引 sql server 联合索引_添加联合索引oracle_05

可以看出,第一个数据已成功插入,因此让我们尝试第二个数据:

postgresql添加联合索引 sql server 联合索引_postgresql添加联合索引_06

不难看出唯一联合索引起了作用,并报告了错误,这与MYSQL完全不同

然后,我们将再次尝试相同的完整数据:

插入t_login1值(”彭万里”,” 1606390234″,” 123456″,” 0″,” 111″);

插入t_login1值(”彭万里”,” 1606390234″,” 123456″,” 0″,” 111″);

postgresql添加联合索引 sql server 联合索引_postgresql添加联合索引_07

同样,报告了一个成功的错误,所以这是一个大难题。

甲骨文呢?

插入数据:

-插入数据

插入t_login1值(”彭万里”,” 1606390234″,” 123456″,” 0″,空);

INSERT INTO t_login1 VALUES(” Ma Hongyu”,” 1606390235″,” 123456″,” 0″,空);

承诺;

然后,我们将再次插入第一个数据

-插入两个相同的数据

插入t_login1值(”彭万里”,” 1606390234″,” 123456″,” 0″,空);

插入t_login1值(”彭万里”,” 1606390234″,” 123456″,” 0″,空);

承诺;

postgresql添加联合索引 sql server 联合索引_插入数据_08

显然,报告了一个错误,该错误违反了唯一性,因此它与SQLServer相同,

然后我们有两个相同的数据:

插入t_login1值(”彭万里”,” 1606390234″,” 123456″,” 0″,” 111″);

插入t_login1值(”彭万里”,” 1606390234″,” 123456″,” 0″,” 111″);

承诺;

postgresql添加联合索引 sql server 联合索引_联合索引_09

postgresql添加联合索引 sql server 联合索引_添加联合索引oracle_10

它违反了唯一性规定,因此与SQLServer一致,但与MYSQL不同。

这是结论。如果输入正确,请发表评论并注意。将来,您将继续发布新文章。