Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 在sql中跨多个列插入单个值_Mysql_Sql - Fatal编程技术网

Mysql 在sql中跨多个列插入单个值

Mysql 在sql中跨多个列插入单个值,mysql,sql,Mysql,Sql,我有一个表,几乎有27列(全部为整数数据类型),第一列是ID(PK)。 我希望将所有值更新为某个值,例如500。 是否有任何查询需要更新,而不需要像这样键入所有27个列名 UPDATE tbl_name SET a=500,b=500,c=500.....z=500 where ID = 1 或者我可以创建任何PL/SQL函数,它将自己获取下一列,而不提供列名并设置值 你不能这样做。更新时始终必须指定列名。如果它是一个进程,您将重新重复,您可以编写存储过程来执行它。您不能这样做。更新时始终必须

我有一个表,几乎有27列(全部为整数数据类型),第一列是ID(PK)。 我希望将所有值更新为某个值,例如500。 是否有任何查询需要更新,而不需要像这样键入所有27个列名

UPDATE tbl_name SET a=500,b=500,c=500.....z=500 where ID = 1

或者我可以创建任何PL/SQL函数,它将自己获取下一列,而不提供列名并设置值

你不能这样做。更新时始终必须指定列名。如果它是一个进程,您将重新重复,您可以编写存储过程来执行它。

您不能这样做。更新时始终必须指定列名。如果这是一个进程,您将重新重复,您可以编写存储过程来执行它。

这在任何数据库中都是不可能的。你需要提到列名。检查以下线程中提到的最常见数据库的更新规范


在任何数据库中都不可能执行此操作。你需要提到列名。检查以下线程中提到的最常见数据库的更新规范


AFAIK这是唯一的选项,除非您想使用动态SQL。如果是这样的话,那么您可能可以在所有列上循环并为每个列分配
500
。但是作为旁注,27列听起来有点偏大。您可能需要重新构造数据库。动态SQL是指PL/SQL吗?我认为这不可能在单个查询中实现。您需要在AFAIK的UPDATEPossible duplicate中指定列名这是唯一的选项,除非您想使用动态SQL。如果是这样的话,那么您可能可以在所有列上循环并为每个列分配
500
。但是作为旁注,27列听起来有点偏大。您可能需要重新构造数据库。动态SQL是指PL/SQL吗?我认为这不可能在单个查询中实现。您需要在的UPDATEPossible duplicate中指定列名