Campo autoincrementabe

28/02/2013 - 22:32 por bryancito | Informe spam
¡ Hola ! amigos...bueno soy nuevo en estos de los foros..pero mi pregunta es la siguiente..tengo tablas en sql..bueno una de ellas es por ejemplo la tabla clientes. aqui esta su estructura:

create table clientes
(
idcliente int IDENTITY not null,
nombre varchar (50)null,
apellido varchar (50)null,
dni varchar (8)null,
direccion varchar (50)null,
telefono varchar (50)null,
email varchar (50)null,
)

alter table clientes add primary key (idcliente)

tambien tengo un store procedure para esta tabla

create procedure sp_ins_cli
@nombre varchar(50),@apellido varchar(50),
@dni varchar(8),@direccion varchar(50),@telefono varchar(50),@email varchar(50)
as
insert into clientes(nombre,apellido ,dni ,direccion ,telefono,email )
values(@nombre,@apellido ,@dni ,@direccion ,@telefono,@email )

bueno como veran tengo un campo autoincrementable que seria el IDCLIENTE...pero por alguna extraña razon me inserta a partir del numero 4 aun cuando en inicio de identidad he puesto 1...y el otro problema es que cuando elimino supongamos registros de la tabla clientes...y despues vuelvo a insertar...sigue con el numero en que se quedo el insert...si supuestamente borro todos los datos de la tabla me deberia empezar a contar desde el 1 no desde el numero en que se kedo antes de borrar los datos......no se si me podrian ayudar con este pequeño codigo...si habra una condicion o otro metodo mejor...desde ya gracias

Preguntas similare

Leer las respuestas

#1 Antonio.xt
09/03/2013 - 00:58 | Informe spam
Lo que pasa es que seguramente borraste la informacion de la tabla con DELETE, y aunque se borran todos los registros, internamente se conserva el consecutivo.

Lo que debes hacer es limpiar la tabla pero no con DELETE, sino con el comando TRUNCATE, ya que con esta se reinicia el contador del campo IDENTITY.

La sintaxis es:
TRUNCATE TABLE {Nombre de la tabla}
Respuesta Responder a este mensaje
#2 bryancito
09/03/2013 - 18:19 | Informe spam
bryancito escribió el 28/02/2013 22:32 :
¡ Hola ! amigos...bueno soy nuevo en estos de los foros..pero mi pregunta
es la siguiente..tengo tablas en sql..bueno una de ellas es por ejemplo la
tabla clientes. aqui esta su estructura:

create table clientes
(
idcliente int IDENTITY not null,
nombre varchar (50)null,
apellido varchar (50)null,
dni varchar (8)null,
direccion varchar (50)null,
telefono varchar (50)null,
email varchar (50)null,
)

alter table clientes add primary key (idcliente)

tambien tengo un store procedure para esta tabla

create procedure sp_ins_cli
@nombre varchar(50),@apellido varchar(50),
@dni varchar(8),@direccion varchar(50),@telefono varchar(50),@email varchar(50)
as
insert into clientes(nombre,apellido ,dni ,direccion ,telefono,email )
values(@nombre,@apellido ,@dni ,@direccion ,@telefono,@email )

bueno como veran tengo un campo autoincrementable que seria el IDCLIENTE...pero
por alguna extraña razon me inserta a partir del numero 4 aun cuando en
inicio de identidad he puesto 1...y el otro problema es que cuando elimino
supongamos registros de la tabla clientes...y despues vuelvo a insertar...sigue
con el numero en que se quedo el insert...si supuestamente borro todos los
datos de la tabla me deberia empezar a contar desde el 1 no desde el numero en
que se kedo antes de borrar los datos......no se si me podrian ayudar con este
pequeño codigo...si habra una condicion o otro metodo mejor...desde ya
gracias


claro en realidad si he usado el truncate pero acordemosno que este elimina por completo la tabla...y lo que yo no kiero es eso...sino lo que yo quiero es eliminar pero mediante el ID..mejor dicho que el usuario pueda borrar el el contenido de una tabla mediante su id....y pùesto que no puedo usar el "TRUNCATE" ya que este no acepta la condicion "where".....mientras que por otro lado el DELETE si acepta la condicion...pero al eliminar queda guardado en la base de datos aun los ID...mmmm segun me informan es imposible hacer esto mientras el campo sea autoincrementable...de igual manera muchas gracias por tu aporte....xD!!1
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida