mysql - Oracle to MySQL migration 关于语法差异的两个问题

标签 mysql indexing constraints uppercase

关于Mysql的两个问题:

1) 我们尝试将此代码从 oracle 移植到 mysql:

CREATE INDEX "IDX_NAME" ON "TABLE" (UPPER("NAME"))

这对于 mysql 是否可行,我在某处读到它是不必要的,因为搜索默认不区分大小写,无论是否正确?

2) NOVALIDATE 的相关模式是什么?像这样的东西在 mysql 语法中看起来如何:

CONSTRAINT "FK_DUP" FOREIGN KEY ("DUP") REFERENCES "TABLE" ("ID") ENABLE NOVALIDATE

非常感谢!

最佳答案

对于你的第二个问题,这是你可以做的

ALTER IGNORE TABLE TABLE_NAME 
ADD CONSTRAINT FK_DUP 
FOREIGN KEY (DUP) 
REFERENCES TABLE_NAME(ID)

这将在 MySQL 中用作 ENABLE NOVALIDATE。

关于mysql - Oracle to MySQL migration 关于语法差异的两个问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24159698/

相关文章:

sql-server - SQL Server 检查约束在正确输入时失败

php - 当选择带有 mysql 数据填充的下拉框时,以表单形式获取 MySQL 数据

php - 无法获取基于 mysql 查询的表单来加载所有 POST 变量

python - Python 中列表维度的减少

mysql - 为这个查询设置什么索引?

ios - UICollectionView 不显示单元格和崩溃应用程序 Xcode 10.0

haskell - 约束的类型别名不与上下文共享相同的变量绑定(bind)行为

php - OpenEMR 5.0.0 布局中缺少保险选项

javascript - 将 body 插入 body 中

r - 一种有效的方法来对带有R中的NA值的行进行子集