Hallo Ich habe eine Entwicklung auf MYSQL gebaut und erwägen, auf Grund der Lizenzkosten für kommerzielle Software auf PostGres zu verschieben.UUID SHORT() für PostGres
In meinem MYSQL habe ich mehrere Tabellen, wo ich auf die Verwendung der UUID_SHORT() - Funktion als Primärschlüssel in diesen Tabellen angewiesen bin. Siehe Link: Mysql UUID_SHORT Info
Hat PostGres eine ähnliche Funktion wie die UUID_SHORT-Funktion? Ich suche eine uniqiue ID und bin nicht an einer Sequenz interessiert. Auch etwas, das auf der Systemzeit wie UUID_SHORT basiert, wäre großartig. Auch unten ist die Klassenfunktion, die ich in PHP verwende, wenn ich eine eindeutige ID für den Primärschlüssel in MYSQL einfügen möchte.
Schätzen Sie alle Kommentare, da dies der Hauptgrund für PostGres wäre.
function getUniqueId(){
//return unique id
$temp_id = strval(uniqid());
$temp = $this->conn->prepare('CREATE TEMPORARY TABLE tempId (temp_id VARCHAR(30) PRIMARY KEY, id BIGINT UNSIGNED)');
$temp->execute();
$temp = $this->conn->prepare('INSERT INTO tempId(temp_id, id) VALUES(:temp_id, UUID_SHORT())');
$temp->bindParam(':temp_id', $temp_id, PDO::PARAM_STR);
$temp->execute();
$temp = $this->conn->prepare('SELECT id FROM tempId WHERE temp_id = :temp_id ');
$temp->bindParam(':temp_id', $temp_id, PDO::PARAM_STR);
$temp->execute();
$tempResult= $temp->fetchAll(PDO::FETCH_ASSOC);
$temp = $this->conn->prepare('DROP TEMPORARY TABLE tempId');
$temp->execute();
$temp_id = $tempResult[0]['id'];
return $temp_id;
}
ich von vielen Gründen gehört zu wechseln, aber * nie * ein: p – Drew
Lizenzkosten? MySQL hat keine. – Bohemian
Postgres ist eine umfassendere Datenbank und hat einen nativen UUID-Spaltentyp. Verwenden Sie nur normale. Es ist wahrscheinlich nicht die Mühe wert, diese mutierte, nicht standardmäßige "kurze" Version zu verwenden. – tadman