2014-06-11 7 views
0

兩個關於MySQL的問題:甲骨文向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 

非常感謝!

+0

關於第一個問題:不,MySQL不支持基於函數的索引。雖然在這種情況下你可能不需要它,因爲默認情況下MySQL使用不區分大小寫的字符比較。 –

回答

3

爲了您的第二個問題,這裏是你可以做

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

這將在MySQL上班ENABLE NOVALIDATE什麼。