PDA

Просмотр полной версии : [Вопрос] [MYSQL] Проблема с сохранением данных



Быдлокодер
22.04.2016, 19:11
Здраствуйте, дело в том что у меня в базу данных сохраняет банкомат только с ID - 0.
При этом все другие банкоматы имеют те же данные(скриншот).
http://ihost.pro-pawn.ru/image.php?di=PR37

Логи mysql абсолютно чистые.
Сохранение банкоматов:

stock ATM_Save(atmid)
{
new
query[200];

format(query, sizeof(query), "UPDATE `atm` SET `atmX` = '%.4f', `atmY` = '%.4f', `atmZ` = '%.4f', `atmA` = '%.4f', `atmInterior` = '%d', `atmWorld` = '%d' WHERE `atmID` = '%d'",
ATMData[atmid][atmPos][0],
ATMData[atmid][atmPos][1],
ATMData[atmid][atmPos][2],
ATMData[atmid][atmPos][3],
ATMData[atmid][atmInterior],
ATMData[atmid][atmWorld],
ATMData[atmid][atmID]
);
return mysql_tquery(g_iHandle, query);
}
когда создал банкомат:


public OnATMCreated(atmid)
{
if (atmid == -1 || !ATMData[atmid][atmExists])
return 0;

ATMData[atmid][atmID] = cache_insert_id(g_iHandle);
ATM_Save(atmid);

return 1;
}
хочу попросить вас написать варианты определение этой проблемы.

PawnoNoob
22.04.2016, 19:34
Ну, я не такой уж профессионал в сфере программирования, тем более в MySQL, но Вы поставили "AUTO INCREMENT" в структуре базы?

Быдлокодер
22.04.2016, 19:41
Ну, я не такой уж профессионал в сфере программирования, тем более в MySQL, но Вы поставили "AUTO INCREMENT" в структуре базы?

нет, как с помощью запроса поставить AUTO INCREMENT ?

CREATE TABLE IF NOT EXISTS `atm` (
`atmID` int(11) NOT NULL,
`atmX` float NOT NULL,
`atmY` float NOT NULL,
`atmZ` float NOT NULL,
`atmA` float NOT NULL,
`atmInterior` int(11) NOT NULL,
`atmWorld` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

PawnoNoob
22.04.2016, 19:45
нет, как с помощью запроса поставить AUTO INCREMENT ?

CREATE TABLE IF NOT EXISTS `atm` (
`atmID` int(11) NOT NULL,
`atmX` float NOT NULL,
`atmY` float NOT NULL,
`atmZ` float NOT NULL,
`atmA` float NOT NULL,
`atmInterior` int(11) NOT NULL,
`atmWorld` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;


localhost/tools/phpmyadmin/ -> в базу с АТМ -> там где id банкомата, нажимаете "изменить" -> ищите "A_I" и ставите галочку.

Быдлокодер
22.04.2016, 19:48
localhost/tools/phpmyadmin/ -> в базу с АТМ -> там где id банкомата, нажимаете "изменить" -> ищите "A_I" и ставите галочку.
ответ:
http://ihost.pro-pawn.ru/image.php?di=P98L

Sp1ke
22.04.2016, 23:46
ответ:
http://ihost.pro-pawn.ru/image.php?di=P98L

Рядом есть картинка ключика с подписью "Первичный", нажми на него и после проделай то, что было написано постом выше.