Trois instructions couramment utilisées pour insérer des données dans MySQL :
1 insérer dans signifie insérer des données. , la base de données vérifiera la clé primaire (PrimaryKey), et une erreur sera signalée s'il y a une duplication ;
2 remplacer dans signifie insérer et remplacer des données. PrimaryKey ou index unique dans la table de demande, si la base de données Si les données existent déjà, elles seront remplacées par de nouvelles données. S'il n'y a pas de données, l'effet sera le même que celui d'une insertion dans
. L'instruction REPLACE renverra un nombre pour indiquer le nombre de lignes affectées. Ce nombre est la somme du nombre de lignes supprimées et insérées. Si ce nombre est 1 pour un REPLACE à une seule ligne, alors une ligne est insérée et aucune ligne n'est supprimée. Si ce nombre est supérieur à 1, une ou plusieurs anciennes lignes sont supprimées avant qu'une nouvelle ligne ne soit insérée. Si une table contient plusieurs index uniques et que la nouvelle ligne copie les valeurs de différentes anciennes lignes dans différents index uniques, il est possible qu'une seule ligne remplace plusieurs anciennes lignes.
3.insérer ignorer signifie que si le même enregistrement existe déjà, ignorez les nouvelles données actuelles
Ce qui suit est expliqué à travers le code ; La différence est la suivante :
create table testtb( id int not null primary key, name varchar(50), age int ); insert into testtb(id,name,age)values(1,"bb",13); select * from testtb; insert ignore into testtb(id,name,age)values(1,"aa",13); select * from testtb;//仍是1,“bb”,13,因为id是主键,出现主键重复但使用了ignore,则错误被忽略 replace into testtb(id,name,age)values(1,"aa",12); select * from testtb; //数据变为1,"aa",12
[Recommandations associées]
1 Partagez des conseils pour optimiser l'insertion dans les déclarations<.>
2.Partagez un tutoriel pour insérer plusieurs enregistrements par lots avec une seule instruction d'insertion
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!