Код: Выделить всё
function addNewLocation($req) {
try {
print_r($req);
echo " ";
$sql = "INSERT INTO $this->tbl_client_locations (client_id, location_name, created_at, updated_at)
VALUES (:client_id, :location_name, :created_at, :updated_at)";
$this->query($sql);
$this->bind(':client_id', $req['client_id']);
$this->bind(':location_name', trim($req['name']));
$this->bind(':created_at', date('Y-m-d H:i:s'));
$this->bind(':updated_at', date('Y-m-d H:i:s'));
$this->execute(); // Error occurs here
$location_id = $this->lastInsertId();
// Additional code follows...
return $location_id;
} catch (Exception $e) {
// Log detailed exception information
echo "An error occurred while adding the location. Please try again later.";
print_r($e->getMessage());
die;
}
}
SQLSTATE[23000]: нарушение ограничения целостности: 1062 Повторяющаяся запись '0' для ключа 'PRIMARY'
Код: 23000
Файл: C:\xampp\htdocs\lazymonkey-full-saas-new\api\models\Database.php Строка: 59
Трассировка стека: #0 C:\xampp\htdocs\lazymonkey-full-saas-new\api \models\Database.php(59): PDOStatement->execute()
...
Код: Выделить всё
tbl_client_locations has the following relevant columns:
id (Primary Key, AUTO_INCREMENT)
client_id
location_name
created_at
updated_at
Я проверил, что столбец id делает это не отображается явно в запросе INSERT, что должно позволить базе данных автоматически назначать значение первичного ключа.
Я получаю ту же ошибку при выполнении запроса непосредственно на сервере mysql.
пример запроса - ВСТАВКА INTO $this->tbl_client_locations (client_id, location_name, созданный_at, обновленный_at)
VALUES
(123, 'Location Alpha', '2024-12-17 10:00:00', '2024-12- 17 10:00:00');
показать результат создания таблицы --
id int(11) NO PRI NULL auto_increment client_id int(11) ДА NULL location_name varchar(255) ДА NULL location_logo varchar(255) ДА NULL location_picture varchar(255) ДА NULL создано_по метке времени ДА NULL обновлено_по метке времени ДА НУЛ
Подробнее здесь: https://stackoverflow.com/questions/792 ... ions-table
Мобильная версия