Pregunta

Soy nuevo en la creación de bases de datos y actualmente intento lograr algo que es realmente necesario para mí.

Digamos que tengo una base de datos "Cliente" con 300 filas, todas con un identificador único llamado Id_.

Id_ | Customer | Postal | Country |
200 | Mica Sa. | 99582 | USA
201 | Shum Jr. | 10258 | USA
202 | Carl Ro. | 45697 | USA
203 | Brad Mi. | 24761 | USA

Si elimino una fila número 202 usando:

DELETE FROM Customer
WHERE Id_ = 202;

Yo obtengo:

Id_ | Customer | Postal | Country |
200 | Mica Sa. | 99582 | USA
201 | Shum Jr. | 10258 | USA
203 | Brad Mi. | 24761 | USA

Pero cuando intento insertar una fila usando:

INSERT INTO Customer (Id_, Customer, Postal, Country)
VALUES (202, 'Peter R.', 08574, 'USA');

La fila se inserta aleatoriamente en la base de datos, por lo que mi pregunta es ¿cómo inserto esta fila exactamente después? 201(Id_) y antes 203(Id_)?

¿Fue útil?

Solución

para ayudarlo a borrar algunas cosas:

    El campo ID de ID parece ser un identificador INT y no único Las declaraciones de inserción
  • no se hacen al azar en el DB, van al último registro.E.G Si tiene 201,203 y usted inserta 202, irá después de 203.
  • La forma en que selecciona los registros (y por lo tanto, se obtiene y mostró) es otra cosa.Puede ejecutar una consulta que devuelva 202 antes de 203, pero esto no significa que esta sea la forma en que se almacenan en el DB
  • Si ID es en realidad de tipo INT, vuelvo a hacerlos automáticos incrementales

    Seleccionar * desde el pedido del cliente por ID_ DESC

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top