Я просто установил сервер LAMP в экземпляре Amazon Linux. Все работает нормально, и все мои связи с моей базой данных отлично работают.Вставка MySQL записывает другое значение, чем значение, которое я вводил
Но у меня проблема, которую я просто не могу понять. Я работаю над экзаменационной системой, и я хочу дать случайный идентификатор каждому учащемуся, который его возьмет. Мне не нужна информация о студентах, поэтому у меня нет соответствующих полей, которые я мог бы использовать в качестве уникальных идентификаторов.
$id_escuela=2;
$id_grupo=$_POST['grado'];
$id_eval=rand(1,9999999999);
$sql = "INSERT INTO pinion_evalua (id_eval,id_escuela,anio) VALUES (".$id_eval.",".$id_escuela.",".$id_grupo.")";
На моем локальном сервере все работает отлично, и я получаю случайные числа каждый раз, но когда я загрузить свои файлы на Amazon сервер, я застрял с определенным номером (2147483647), даже если результат Ранд отличается. Например, я получаю:
Error: INSERT INTO pinion_evalua(id_eval,id_escuela,anio) VALUES (4612160288,1,2)
Duplicate entry '2147483647' for key 'id_eval'
Как это возможно? Я попытался удалить случайную часть и использовать автоинкремент, но я все равно получаю тот же номер. Я даже пытался уменьшить размер int, но я все равно получаю номер, даже если он идет вразрез с правилами поля. Это сводит меня с ума.
Неужели кто-нибудь из вас может дать мне подсказку о том, что может быть неправильным?
С уважением.
Я не знаю php, но похоже, что он связан с http://stackoverflow.com/questions/15532635/converting-a-sting-to-an-integer-returns-2147483647 – ASM
вам не нужно назначать уникальный идентификатор , используйте поле id в качестве первичного ключа и auto increment true. – shubham715
сделать поле id_eval BigInt –