Mysql
 sql >> Base de données >  >> RDS >> Mysql

ERREUR 1366 (HY000) :valeur entière incorrecte :'' pour la colonne 'id' à la ligne 1

Si vous souhaitez utiliser cet insert, vous devez fournir une valeur entière dans votre sql au lieu d'une chaîne vide, cela devrait ressembler à ceci :

INSERT INTO users (id, username, password, first_name, last_name)
VALUES (1, 'lukeduke', '123456', 'Luke', 'Duke')

ou si votre identifiant est auto-incrémental, vous pouvez avoir votre sql comme ceci :

INSERT INTO users (username, password, first_name, last_name)
VALUES ('lukeduke', '123456', 'Luke', 'Duke')

Dans ce cas, cela devrait être votre code :

//extracting your first element of the array (id in this case)
$attributes = array_slice($attributes, 1);

$sql = "INSERT INTO ". static::$table_name ." (";
$sql .= join(", ", array_keys($attributes));
$sql .= ") VALUES ('";
$sql .= join("', '", array_values($attributes));
$sql .= "')";

En savoir plus :