Есть простенькая БД (sqlite) из семи полей, последнее VARCHAR(1024) хочется сделать уникальным.КодC++ (Qt) QString q = "CREATE TABLE IF NOT EXISTS " + QString(tableName) + " (" "key INTEGER PRIMARY KEY NOT NULL AUTOINCREMENT," "author VARCHAR(255)," "singer VARCHAR(255)," "title VARCHAR(255)," "descr VARCHAR(255)," "type VARCHAR(2)," "filename VARCHAR(1024)" ")";В SQL я почти полный ноль, потому найти в гугле подходящую инструкции не сумел.Из того, что пробовал:КодC++ (Qt)"CONSTRAINT uniq_data UNIQUE(filename)"не помогло, хотя таблица создалась, но запись с таким же именем файла успешно добавиласьКодC++ (Qt)"filename UNIQUE VARCHAR(1024)"тут просто таблица не создалась.Делать имя файла ключом как-то странно, на мой взгляд, хотя может быть для подобных случаев это и принятая практика? Но если мне потребуется в дальнейшем нормализовать таблицу, то объединять их по имени файла глупость несусветная...
|