sql >> Databáze >  >> RDS >> Mysql

Vyhněte se duplicitním ID v PHP

Sloupec musí být UNIKÁTNÍ. Právě teď neexistuje žádné omezení pro sloupec, který mu umožňuje mít duplicitní hodnoty. Změňte sloupec na UNIQUE:

ALTER TABLE user_books ADD UNIQUE (bookID);

Tento dotaz však selže, pokud již máte duplicitní hodnoty v bookID sloupec. Pokud vás nezajímá (automatické) odstranění duplicitních záznamů, použijte místo toho následující dotaz:

ALTER IGNORE TABLE user_books ADD UNIQUE (bookID);

Tím se zachová první nalezený záznam případných duplikátů a zbytek se smaže, tzn. Představte si, že máte 5 položek s bookID 100. Výše ​​uvedený dotaz zachová první položku s bookID 100 a zbývající 4 automaticky vymažte.

Pak můžete použít INSERT IGNORE INTO poté.




  1. Jak povolit rozšíření pro oci8 (Oracle) v php.ini - PHP Upozornění:Spuštění PHP:v neznámém na řádku 0

  2. Magento:SQLSTATE[23000]:Porušení omezení integrity:1062 Duplicitní záznam '100000001' pro klíč 'UNQ_SALES_FLAT_ORDER_IN

  3. Jak importovat a exportovat databázi přes phpMyAdmin (chyba 'Přístup odepřen vytvořit databázi db_name')

  4. ORA-01438:hodnota větší než specifikovaná přesnost povolená pro tento sloupec při vkládání 3