Поэтому я работаю над довольно небольшим сценарием для компании, в которой я работаю, чтобы помочь нам лучше управлять нашими серверами. Я не использую MySQL слишком часто, поэтому я немного запутался в выборе лучшего пути.
Я делаю что-то вроде этого ...
$sql = "CREATE TABLE IF NOT EXISTS Servers
(
MachineID int NOT NULL AUTO_INCREMENT,
PRIMARY KEY(MachineID),
FirstName varchar(32),
LastName varchar(32),
Datacenter TINYINT(1),
OperatingSystem TINYINT(1),
HostType TINYINT(1)
)";
$result = mysql_query($sql,$conn);
check ($result);
$sql = "CREATE TABLE IF NOT EXISTS Datacenter
(
DatacenterID int NOT NULL AUTO_INCREMENT,
PRIMARY KEY(DatacenterID),
Name varchar(32),
Location varchar(32)
)";
$result = mysql_query($sql,$conn);
check ($result);
По сути, внутри таблицы Servers я буду хранить индекс записи в другой таблице. Меня беспокоит то, что если мы удалим одну из этих записей, она испортит автоматически увеличенные индексы и потенциально может вызвать много неправильных данных.
Чтобы объяснить лучше, скажем, первый сервер, который я добавляю, значение Datacenter равно 3 (который является DatacenterID), и мы позже удалим Datacenter с идентификатором 1 (DatacenterID).
Есть ли хороший способ сделать это?