v2.5.2
Giriş yap

mysql tablosunda idler karışık gözüküyor nasıl düzetebiliriz ?

onurnerde
497 defa görüntülendi

mysql tablosunun idleri database yedegini alırken düz göstermiyor yani

1
2
456
457

gibi sıralanıyor bunu düz sıralanması için ne yapmamız gerekir ?

Cevap yaz
Cevaplar (12)
onurnerde
427 gün önce


aşağıdaki gibi sıralanması gerekmez miydi ? ne yapmamız gerekiyor?

(1, 'stat', 'ankara', 'ankara geliyor', 'ankara statyumu'),
(4, 'stat', 'manisa', 'manisa geliyor', 'manisa statyumu'),
(5, 'stat', 'van', 'van geliyor', 'van statyumu'),
(6, 'stat', 'artvin', 'artvin geliyor', 'artvin statyumu'),
(606, 'stat', 'ardahan', 'ardahan geliyor', 'ardahan statyumu'),
(607, 'stat', 'aksaray', 'aksaray geliyor', 'aksaray statyumu'),
(608, 'stat', 'duzce', 'duzce geliyor', 'duzce statyumu');
(644, 'stat', 'adana', 'adana geliyor', 'adana statyumu'),
(645, 'stat', 'batman', 'batman geliyor', 'batman statyumu'),
(646, 'stat', 'karaman', 'karaman geliyor', 'karaman statyumu'),
murat03yigit
427 gün önce

Senden resim istiycem

  • Tablo yapının resmi tam ekran olsun alttaki bilgilerde dahil.
  • Anasayfada php sürümü falan bulunuyor phpmyadminde (Veritabanı Sunucu Hakkında)
onurnerde
433 gün önce

hatayı almaya devam ediyorum ;

Hata
SQL sorgusu: Kopyala


UPDATE yukselenses SET id=@autoid := (@autoid+1);
MySQL çıktısı: Belgeler

#1062 - Duplicate entry '2' for key 'PRIMARY'

ilgili tabloyu sildim ve dışarı aktararak bu aşağıdaki kodu hem sql tablosunun altına yazdım denedim tablo düzelmedi
sonra create tablonun altına yazmayı denedim fakat tablodaki idler yine karışık gözüküyor bir düzetlme kodu olması
lazım php my adminde ilgili tablonun id satırına tıklayınca 0,1,2,3 gibi düzgün sıralanabiliyor baştan aşağı ve
aşağıdan başa sıralanıyor fakat tablonun düzeltilmesinde başarılı olamadım.

SET @autoid :=0;
UPDATE yukselenses SET id=@autoid := (@autoid+1);
ALTER TABLE yukselenses AUTO_INCREMENT=1;

daha öncede phpmyadminde sutuna satırlara tıklanınca igili satır düzeltme için işlem
yapamıyor hatası alıyordum o düzelebildi fakat bu id sıralaması işleminde başarılı olamadım.

murat03yigit
444 gün önce

Merhaba dostum @emmir2 hocamızın paylaştığı kodda hiç bir sıkıntı yok sıkıntı senin tablondaki id değerinde auto_increment özelliğinin aktif edilmemesi.

-- phpMyAdmin SQL Dump
-- version 5.2.1
-- https://www.phpmyadmin.net/
--
-- Anamakine: localhost
-- Üretim Zamanı: 09 Eki 2023, 15:25:17
-- Sunucu sürümü: 11.1.0-MariaDB-log
-- PHP Sürümü: 8.1.10

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
START TRANSACTION;
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;

--
-- Veritabanı: `VERİTABANI_ADI`
--

-- --------------------------------------------------------

--
-- Tablo için tablo yapısı `yukselenses`
--

CREATE TABLE `yukselenses` (
  `id` int(11) NOT NULL,
  `kat` text NOT NULL,
  `seo` text NOT NULL,
  `baslik` text NOT NULL,
  `icerik` text DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;

--
-- Tablo döküm verisi `yukselenses`
--

INSERT INTO `yukselenses` (`id`, `kat`, `seo`, `baslik`, `icerik`) VALUES
(1, 'stat', 'ankara', 'ankara geliyor', 'ankara statyumu'),
(4, 'stat', 'manisa', 'manisa geliyor', 'manisa statyumu'),
(5, 'stat', 'van', 'van geliyor', 'van statyumu'),
(6, 'stat', 'artvin', 'artvin geliyor', 'artvin statyumu'),
(644, 'stat', 'adana', 'adana geliyor', 'adana statyumu'),
(645, 'stat', 'batman', 'batman geliyor', 'batman statyumu'),
(646, 'stat', 'karaman', 'karaman geliyor', 'karaman statyumu'),
(606, 'stat', 'ardahan', 'ardahan geliyor', 'ardahan statyumu'),
(607, 'stat', 'aksaray', 'aksaray geliyor', 'aksaray statyumu'),
(608, 'stat', 'duzce', 'duzce geliyor', 'duzce statyumu');

--
-- Dökümü yapılmış tablolar için indeksler
--

--
-- Tablo için indeksler `yukselenses`
--
ALTER TABLE `yukselenses`
  ADD PRIMARY KEY (`id`);

--
-- Dökümü yapılmış tablolar için AUTO_INCREMENT değeri
--

--
-- Tablo için AUTO_INCREMENT değeri `yukselenses`
--
ALTER TABLE `yukselenses`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=647;
COMMIT;

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;


--
-- id sıralama kodu (@emmir2)
--
SET @autoid :=0;
UPDATE yukselenses SET id=@autoid := (@autoid+1);
ALTER TABLE yukselenses AUTO_INCREMENT=1;
onurnerde
458 gün önce

emmir2 hocam ben dediğim hatayı almaya devam ediyorum .
peki siz hata almadığınızı söylediniz ?
hata almadığınız görüntünün dışında igili mysql tablosunun görüntüsünü koyarmısınız ?


(1, 'stat', 'ankara', 'ankara geliyor', 'ankara statyumu'),
(4, 'stat', 'manisa', 'manisa geliyor', 'manisa statyumu'),
(5, 'stat', 'van', 'van geliyor', 'van statyumu'),
(6, 'stat', 'artvin', 'artvin geliyor', 'artvin statyumu'),
(606, 'stat', 'ardahan', 'ardahan geliyor', 'ardahan statyumu'),
(607, 'stat', 'aksaray', 'aksaray geliyor', 'aksaray statyumu'),
(608, 'stat', 'duzce', 'duzce geliyor', 'duzce statyumu'),
(644, 'stat', 'adana', 'adana geliyor', 'adana statyumu'),
(645, 'stat', 'batman', 'batman geliyor', 'batman statyumu'),
(646, 'stat', 'karaman', 'karaman geliyor', 'karaman statyumu');

muhtemelen yukarıdaki gibi mysql php myadmin görüntüsü oluşması lazım.
hata almadığınızı ve kodun çalıştığını söylediniz ?
googlede igili kodun tabloyu kompile sıfırlayacağı yazıyor ?
düzeltileceği ile igili kodu bulamadım .

emmir2
463 gün önce

phpmyadmin de tablo içindeyken üst kısımda SQL kısmına girip

SET @autoid :=0;
UPDATE yukselenses SET id=@autoid := (@autoid+1);
ALTER TABLE yukselenses AUTO_INCREMENT=1;

bunu yapıştırırsan idler otomatik olarak düzenlenecektir hocam

https://i.hizliresim.com/oc10kc8.png

test ettim bir hata almadım

onurnerde
464 gün önce

sql yapısından kastınız database yapısı mı ?

--
-- Table structure for table `yukselenses`
--

CREATE TABLE `yukselenses` (
  `id` int(11) NOT NULL,
  `kat` text NOT NULL,
  `seo` text NOT NULL,
  `baslik` text NOT NULL,
  `icerik` text DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

--
-- Dumping data for table `yukselenses`
--

INSERT INTO `yukselenses` (`id`, `kat`, `seo`, `baslik`, `icerik`) VALUES
(1, 'stat', 'ankara', 'ankara geliyor', 'ankara statyumu'),
(4, 'stat', 'manisa', 'manisa geliyor', 'manisa statyumu'),
(5, 'stat', 'van', 'van geliyor', 'van statyumu'),
(6, 'stat', 'artvin', 'artvin geliyor', 'artvin statyumu'),
(644, 'stat', 'adana', 'adana geliyor', 'adana statyumu'),
(645, 'stat', 'batman', 'batman geliyor', 'batman statyumu'),
(646, 'stat', 'karaman', 'karaman geliyor', 'karaman statyumu'),
(606, 'stat', 'ardahan', 'ardahan geliyor', 'ardahan statyumu'),
(607, 'stat', 'aksaray', 'aksaray geliyor', 'aksaray statyumu'),
(608, 'stat', 'duzce', 'duzce geliyor', 'duzce statyumu');

onurnerde
464 gün önce

nerden sql yapısını size göstermek için alabilirim ?
dediğinizi tam olarak anlamadım da ?

emmir2
464 gün önce

sql yapını atar mısın

onurnerde
465 gün önce

peki ne yapmamız gerekir emmir2 hocamın verdiği kodla şu hatayı alıyorum ;

Error
SQL query: Copy


UPDATE stadyumlar SET id=@autoid := (@autoid+1);
MySQL said: Documentation

#1062 - Duplicate entry '2' for key 'PRIMARY'

php myadmine girince ilgili tabloda sıralamalar idlerin düzensiz gösteriyor
son id rakamı en sona gelecek şekilde ilgili tabloyu nasıl düzetebilirim ?

tayfunerbilen
465 gün önce

3 ile 455 arasinda daha onceden kayit olusmustur, bunu sifirlayabiliyorsun ama o zaman mevcut id'lerin sikintiya duser, yani zaten yeni bir kayitta 458'den devam edecek, tabloyu bosaltirsan sifirlanacaktir, eger onemsizse icindeki degerler sifirdan baslatmak icin tabloyu sifirlayabilirsin

emmir2
466 gün önce

SET @autoid :=0;
UPDATE TABLO_ADI SET id=@autoid := (@autoid+1);
ALTER TABLE TABLO_ADI AUTO_INCREMENT=1;