sıfır olmadan imzalanmamış zerofill değiştirmemesi değerini görüntülemek

1 Cevap php

my primay key is user_id which is auto incremant UNSIGNED ZERO FILL, i want to display user_id on a page without leading Zero( means 1 instead of 0000000001 ).. how can we do that in php or in mysql one more question...

i son kaydını silerseniz, o zaman bunun yerine tablo 22 21 otomatik artış değerini ayarlayabilirsiniz bu tablonun en yüksek id var wwhich (User_id = 21 olsun).

1 Cevap

Önde gelen sıfır olmadan PHP görüntülemek için:

echo (int) $val;

Auto_increment değerini ayarlamak için (bu iyi bir uygulama değildir, MySQL sizin için birincil anahtarları ele izin vermelisiniz!):

mysql> CREATE TABLE test( id INTEGER AUTO_INCREMENT, data TEXT, PRIMARY KEY id(id) );
Query OK, 0 rows affected (0.05 sec)

mysql> INSERT INTO test VALUES (1,'23'),(2,'32'),(3,'3232');
Query OK, 3 rows affected (0.00 sec)
Records: 3  Duplicates: 0  Warnings: 0

mysql> SELECT AUTO_INCREMENT FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'test' AND TABLE_NAME = 'test';
+----------------+
| AUTO_INCREMENT |
+----------------+
|              4 |
+----------------+
1 row in set (0.00 sec)

mysql> SELECT MAX(id) FROM test;
+---------+
| max(id) |
+---------+
|       3 |
+---------+

1 row in set (0.00 sec)

Ardından, testin silmek auto_increment PHP max (id) Yukarıda biri olup olmadığını kontrol, ve eğer:

mysql> ALTER TABLE test AUTO_INCREMENT=3;
Query OK, 3 rows affected (0.05 sec)
Records: 3  Duplicates: 0  Warnings: 0

Eğer 3 kayıtları vardı, oto inc yüzden otomatik inc sonraki değeri olmalıdır 2 kayıtları, 3'e ayarlayın 1 silinmiş, 4 idi.

Yukarıdaki gibi, bu iyi bir uygulama değildir ve bu auto_inc sorguları yaparken size masaları kilit yoksa dağınık veri ile bitebileceğini - birincil anahtar sipariş için performanstan ödün mantıklı görünmüyor!