TYPO3 Extbase - 添加唯一约束的正确方法?
TYPO3 Extbase - Correct way to add unique-constraint?
有谁知道如何向 ext_tables.sql
添加唯一约束,而不会产生像 TYPO3 这样的问题,每次使用数据库分析器时都想重新生成它?
示例:
CREATE TABLE tableName(
CONSTRAINT unique_iban UNIQUE (iban)
)
CREATE TABLE tableName(
iban varchar(255) DEFAULT '' NOT NULL UNIQUE
)
数据库分析器希望通过这两种方式创建约束,即使它们已经存在。
第一个在执行时还会产生错误:
Error: Duplicate key name 'unique_iban'
第二个在您每次点击执行时创建一个新约束:
ALTER TABLE tableName DROP KEY iban
ALTER TABLE tableName DROP KEY iban_2
等等
这有效(感谢 Christian Müller):
CREATE TABLE tableName(
iban varchar(255) DEFAULT '' NOT NULL,
UNIQUE KEY iban (iban)
)
有谁知道如何向 ext_tables.sql
添加唯一约束,而不会产生像 TYPO3 这样的问题,每次使用数据库分析器时都想重新生成它?
示例:
CREATE TABLE tableName(
CONSTRAINT unique_iban UNIQUE (iban)
)
CREATE TABLE tableName(
iban varchar(255) DEFAULT '' NOT NULL UNIQUE
)
数据库分析器希望通过这两种方式创建约束,即使它们已经存在。
第一个在执行时还会产生错误:
Error: Duplicate key name 'unique_iban'
第二个在您每次点击执行时创建一个新约束:
ALTER TABLE tableName DROP KEY iban
ALTER TABLE tableName DROP KEY iban_2
等等
这有效(感谢 Christian Müller):
CREATE TABLE tableName(
iban varchar(255) DEFAULT '' NOT NULL,
UNIQUE KEY iban (iban)
)