Pracuje aktualnie nad zwiększaniem wartości pola auto_increment/primary key o 1.
Wiem, istnieje kilka funkcji php oraz mysql np: mysql_insert_id() lub LAST_INSERT_ID(), jednak zwracają one wartość ostatniego polecenia INSERT. A co jeśli to polecenie jest pierwszym poleceniem w skrypcie i nie ma z czego ściągnąć wartości? Ja, korzystają z informacji znalezionych na tym forum stworzyłem coś takiego:
<?php include('_forum/_connection.php'); $sql_query = "SELECT MAX(post_id) FROM posts "; or die(mysql_error() . '<br /><br />Błąd pobierania najwiekszej wartości pola post_id!' . $sql_query); $sql_row[0]++; $NextPostId = $sql_row[0]; } $sql_query = "INSERT INTO posts (post_id, post_author_id) VALUES ('" . $NextPostId . "', '" . $_SESSION['UserId'] . "')"; ?>
...skrypt działa, jednak istnieje możliwość, że w czasie pomiędzy wykonaniem polecenia SELECT i INSERT zostanie zmieniona wartość pola post_id. W takim wypadku mysql zgłosi błąd. Jeśli ma ktoś jakiś ciekawy pomysł, przedewszystkim prostszy chętnie wysłucham...
Pozdrawiam