Я пытаюсь сгенерировать первичный ключ, используя date и time с кодом PHP.

Но когда я сохраняю изменение идентификатора на 2147483647.

Мой код для получения даты и времени.

$dt = new DateTime("now", new DateTimeZone('Asia/Jakarta'));

Затем я распечатываю его в форму ввода с помощью readonly

<input type="text" class="form-control" id="idpost" name="idpost" value="<?php echo $dt->format('dmHis'); ?>" form="add_post" readonly>
0
jazuly aja 31 Дек 2017 в 15:25

2 ответа

Лучший ответ

Ваш столбец id, вероятно, относится к типу INT и SIGNED (по умолчанию). У этого есть максимальное значение, равное {{X3} }. При таком формате даты вы получаете большие числа (например, 3112133015).

Если вы хотите использовать такие большие числа, используйте столбец BIGINT с максимальным значением 9223372036854775807 или используйте UNSIGNED INT, чтобы максимальное значение стало {{ X4}}.

1
rickdenhaan 31 Дек 2017 в 12:32

Похоже, что он дает вам метку времени, чтобы преобразовать ее в читаемую дату / время php time

echo date('Y-m-d H:i:s', 2147483647);
0
Kiwagi 31 Дек 2017 в 12:42