
mysqli::real_query 함수는 SQL 쿼리를 실행하고 결과를 반환하는 함수입니다. 하지만, INSERT 쿼리를 실행할 때 PRIMARY KEY에 중복된 값을 입력하면 에러가 발생합니다.
이 에러는 PRIMARY KEY에 중복된 값을 입력했기 때문입니다. PRIMARY KEY는 데이터베이스에서 고유한 값을 저장하는 열로, 중복된 값을 입력하면 데이터베이스가 중복된 값을 허용하지 않습니다.
INSERT 쿼리를 실행할 때 PRIMARY KEY에 중복된 값을 입력하지 않도록 하거나, PRIMARY KEY를 제거하거나, 중복된 값을 허용하는 데이터베이스 설정을 변경하거나, 중복된 값을 입력한 경우 중복된 값을 제거하는 방법을 선택할 수 있습니다.
예를 들어, PRIMARY KEY를 제거하는 방법은 다음과 같습니다.
php
$query = "INSERT INTO users (id, name, email) VALUES (NULL, 'John Doe', 'john@example.com')";
mysqli::real_query($query);
이 방법은 PRIMARY KEY를 제거하여 중복된 값을 입력하지 않습니다.
또는 중복된 값을 허용하는 데이터베이스 설정을 변경하는 방법은 다음과 같습니다.
php
$query = "ALTER TABLE users DROP PRIMARY KEY";
mysqli::real_query($query);
$query = "INSERT INTO users (id, name, email) VALUES (1, 'John Doe', 'john@example.com')";
mysqli::real_query($query);
$query = "ALTER TABLE users ADD PRIMARY KEY (id)";
mysqli::real_query($query);
이 방법은 PRIMARY KEY를 제거하고 중복된 값을 입력한 후 PRIMARY KEY를 다시 추가하여 중복된 값을 허용합니다.
중복된 값을 입력한 경우 중복된 값을 제거하는 방법은 다음과 같습니다.
php
$query = "DELETE FROM users WHERE id = 1";
mysqli::real_query($query);
$query = "INSERT INTO users (id, name, email) VALUES (1, 'John Doe', 'john@example.com')";
mysqli::real_query($query);
이 방법은 중복된 값을 입력한 경우 중복된 값을 제거하고 다시 중복된 값을 입력합니다.
이러한 방법 중 하나를 선택하여 PRIMARY KEY에 중복된 값을 입력하지 않도록 하거나, PRIMARY KEY를 제거하거나, 중복된 값을 허용하는 데이터베이스 설정을 변경하거나, 중복된 값을 입력한 경우 중복된 값을 제거하는 방법을 선택할 수 있습니다.
2025-06-11 03:44