Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/75.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:更新一行而不提及字段名称_Mysql_Sql - Fatal编程技术网

MYSQL:更新一行而不提及字段名称

MYSQL:更新一行而不提及字段名称,mysql,sql,Mysql,Sql,有没有一种方法可以在不提及字段名称的情况下更新行? 我的意思是: UPDATE table SET VALUES(1, 'name', 'family') 而不是: UPDATE table SET id=1, name='name', family='family' 更新 我正在使用INSERT ON DUPLICATE KEY UPDATE,不想使用REPLACE函数,因为REPLACE函数会导致记录被删除,并在末尾插入,这会导致索引被分解,降低表的效率。你不能像mysql那样做,as

有没有一种方法可以在不提及字段名称的情况下更新行?
我的意思是:

UPDATE table SET VALUES(1, 'name', 'family')
而不是:

UPDATE table SET id=1, name='name', family='family'
更新

我正在使用
INSERT ON DUPLICATE KEY UPDATE
,不想使用
REPLACE
函数,因为
REPLACE
函数会导致记录被删除,并在末尾插入,这会导致索引被分解,降低表的效率。

你不能像mysql那样做,as set子句指示要修改的列以及应该给出的值


仅供参考:

对于mysql,您不能这样做,因为set子句指示要修改哪些列以及应该给出哪些列的值


仅供参考:

如果您以与可使用的表定义相同的顺序指定值

REPLACE INTO table VALUES(1, 'name', 'family');

请注意,这将替换整行,因此必须指定所需的所有值

如果以与可以使用的表定义相同的顺序指定值

REPLACE INTO table VALUES(1, 'name', 'family');

请注意,这将替换整行,因此必须指定所需的所有值

如果您解释一下为什么需要这样做,也许会有所帮助?我使用的是
INSERT ON DUPLICATE KEY UPDATE
,因为
REPLACE
函数会导致记录被删除,并在最后插入,这会导致索引被分解,降低表的效率。@Omid:那么您不是在使用
更新
,而是在重复键更新时使用
插入
。发布您的全部代码,在这个问题上,不要浪费其他人的时间。@ypercube
INSERT on DUPLICATE KEY UPDATE
在第二部分中完全像
UPDATE
函数一样工作。对不起,亲爱的朋友。@Omid:不,没有。在这种情况下,没有设置
。您可以使用
值(列)
。您的问题中仍然没有实际的代码。如果您解释一下为什么需要这样做,也许会有所帮助?我使用的是
INSERT ON DUPLICATE KEY UPDATE
,因为
REPLACE
函数将导致删除记录,并在最后插入,这将导致索引分离,降低表的效率。@Omid:那么您不是在使用
更新
,而是在重复键更新时使用
插入
。发布您的全部代码,在这个问题上,不要浪费其他人的时间。@ypercube
INSERT on DUPLICATE KEY UPDATE
在第二部分中完全像
UPDATE
函数一样工作。对不起,亲爱的朋友。@Omid:不,没有。在这种情况下,没有设置
。您可以使用
值(列)
。您的问题中仍然没有实际的代码。