Necesito hacer algo simple: insertar una fila en MySQL (con PHP) pero sin valores. La tabla MySQL ya tendrá los valores predeterminados que necesita, así que no necesito insertar ningún valor. ¿Cómo se vería la declaración de inserción sin valores para insertar?¿Cómo insertar una fila sin ningún valor para que todas las columnas asuman su valor predeterminado?
¿Cómo insertar una fila sin ningún valor para que todas las columnas asuman su valor predeterminado?
Respuesta
INSERT INTO my_table VALUES()
En SQL Server es así.
insert into TableName default values
Puede utilizar default values
:
insert YourTable default values
La forma correcta es proporcionar una lista de valores de vacío y dejar que los campos toman sus valores por defecto de forma implícita:
INSERT INTO `table`() VALUES();
Alternativamente Puede usar la palabra clave DEFAULT
:
INSERT INTO `table` (`Col1`, `Col2`, ...) VALUES(DEFAULT, DEFAULT, ...);
O (asumiendo que usted está dando valores para todas las columnas) justo:
INSERT INTO `table` VALUES(DEFAULT, DEFAULT, ...);
Toda la información necesaria se puede encontrar en the documentation for INSERT
:
Si no especifique una lista de nombres de columna para INSERTAR ... VALORES o INSERTAR ... SELECCIONAR, los valores para cada columna en la tabla deben ser proporcionado por la lista VALUES o la instrucción SELECT. Si no conoce el orden de las columnas en la tabla, use DESCRIBIR tbl_name al entérese.
[..]
Si no se está ejecutando en modo estricto SQL, cualquier columna no explícitamente dado un valor se establece en su valor (explícito o implícito) por defecto. Para ejemplo, si especifica una lista de columnas que no nombra todas las columnas en la tabla, las columnas sin nombre se establecen en sus valores predeterminados. La asignación de valores predeterminados se describe en la Sección 10.1.4, "Tipo de datos Valores predeterminados". Consulte también la Sección 1.8.6.2, "Restricciones en datos inválidos".
[..]
Usar la palabra clave DEFAULT para establecer una columna de forma explícita a su valor por defecto . Esto hace que sea más fácil escribir instrucciones INSERT que asignen valores a todas menos unas pocas columnas, porque le permite evitar escribiendo una lista VALUES incompleta que no incluye un valor para en cada columna de la tabla. De lo contrario, tendría que escribir la lista de los nombres de columna correspondientes a cada valor en la lista VALORES.
[..]
Si tanto la lista de columnas y la lista VALUES están vacías, INSERT crea una fila con cada columna se establece en su valor por defecto:
INSERT INTO tbl_name() VALUES();
[..]
En modo estricto , se produce un error si alguna columna no tiene un valor predeterminado . De lo contrario, MySQL usa el valor implícito predeterminado para cualquier columna que no tenga un valor predeterminado explícitamente definido.
'INSERT INTO table_name DEFAULT' no funciona en MySQL. Use 'INSERT INTO table_name VALUES()' en su lugar. – izogfif
'MOSTRAR VARIABLES COMO 'sql_mode';' da 'STRICT_TRANS_TABLES, ERROR_FOR_DIVISION_BY_ZERO, NO_AUTO_CREATE_USER, NO_ENGINE_SUBSTITUTION', así que creo que es el modo SQL Strict. Cuando ejecuto la consulta 'INSERT INTO table_name DEFAULT;' da error 'SQL Error (1064): tiene un error en su sintaxis SQL; verifique el manual que corresponde a su versión del servidor MySQL para la sintaxis correcta para usar cerca de 'DEFAULT' en la línea 1'. He señalado que ha dado dos alternativas y la primera no funciona en el caso de MySQL. – izogfif
@izogfif: Eso parece ser exacto, gracias –
- 1. Buscar todas las columnas de una tabla para un valor?
- 2. Insertar valor predeterminado cuando se inserta nulo
- 3. Establecer una enumeración en su valor predeterminado
- 4. Quiero valor específico de búsqueda en todas las columnas de todas las tablas en Oracle 11g
- 5. ¿Cómo restauro una hoja de propiedades a su valor predeterminado?
- 6. columnas Eliminación basados en el valor de una fila
- 7. C# ¿Cómo establecer un valor predeterminado para las propiedades automáticas?
- 8. Establecer un valor predeterminado para una propiedad
- 9. ¿Cuál es el valor predeterminado para un campo si no se proporciona un valor predeterminado?
- 10. Cómo crear una fila de totales para las columnas agrupadas
- 11. Valor predeterminado para una columna de texto
- 12. ¿Puede LINQ-to-SQL omitir columnas no especificadas en Insertar para que se use un valor predeterminado de la base de datos?
- 13. ¿Cómo establecer el valor predeterminado para todas las claves de un objeto dict en python?
- 14. django 'DateTimeField' no tiene ningún error de valor predeterminado
- 15. Configurar condicionalmente una columna a su valor predeterminado en Postgres
- 16. ¿Cómo fusiono dos tablas sin nombrar todas las columnas?
- 17. seleccionar filas que tienen 2 columnas igual valor
- 18. ¿Es posible crear una fila que abarque todas las columnas de una matriz en SSRS 2008?
- 19. células Sum en una columna que tengan un valor específico en una célula en su fila
- 20. ¿Cómo hacer que las columnas de QTableWidget asuman el espacio máximo?
- 21. Insertar valor predeterminado como fecha actual + 30 días en MySQL
- 22. Analizando una fecha en python sin usar un valor predeterminado
- 23. ¿Existe un valor universalmente aceptado para ningún valor?
- 24. valor genérico predeterminado
- 25. Yii DROPDOWNLIST valor predeterminado
- 26. Usando SqlDataAdapter para insertar una fila
- 27. ¿Cómo su búsqueda nombres de las columnas que contienen corchetes?
- 28. ¿Cómo convertir un encabezado de columna y su valor en una fila en sql?
- 29. C# - Cómo probar si una instancia es el valor predeterminado para su tipo
- 30. sqlite insertar nuevo valor en la vista
Esta es en realidad la respuesta correcta para MySQL. –
Trabajando con mariadb también - 10.0.31-MariaDB – MarcoZen