Php 是否可以在不使用列名的情况下更新MySql中的值?

Php 是否可以在不使用列名的情况下更新MySql中的值?,php,mysql,Php,Mysql,您好,是否可以在不指定列名的情况下更新MySql值 比如说 update table_name set name='john',rollnumber='30' where id='5'; 我想更新这些john,30值,而不指定name,rollnumber 有可能吗?不,你不能 因为,您不会更新整行 您总是更新某些列 请参阅此处: 您可以使用REPLACE-INTO(类似于INSERT-INTO)代替UPDATE,但我并不建议您使用它。 REPLACE-INTO方法使用指定的主键值确定它是插

您好,是否可以在不指定列名的情况下更新MySql值

比如说

update table_name set  name='john',rollnumber='30' where id='5';
我想更新这些
john,30
值,而不指定
name,rollnumber

有可能吗?

不,你不能

因为,您不会更新整行

您总是更新某些列

请参阅此处:

您可以使用REPLACE-INTO(类似于INSERT-INTO)代替UPDATE,但我并不建议您使用它。 REPLACE-INTO方法使用指定的主键值确定它是插入还是更新。因此,您有在表中插入内容的风险。 为什么指定列名会有问题

试试这个

REPLACE INTO tbl_name (
  PrimaryKey,
  name,
  rollnumber
) VALUES (
  5,
  'john',
  '30'
这和

UPDATE tbl_name
SET name = 'john', rollnumber = '30'
WHERE PrimaryKey = 5;

这是不可能的……所以你希望MySQL猜测每个列中应该更新哪个值?这里的主要问题是为什么你希望它成为可能?按列的顺序使用列而不是按名称使用列是新手通常希望使用的快捷方式,直到他们用它击中自己的脚为止。使用列名。我想每次都更新所有值,但MySQL不能像在INSERT中那样猜测列名。好的,但有人说使用替换查询。一种可能的解决方案(如果所有值都需要更新),您可以删除该行并使用INSERT再次插入,但ID将被更改,这可能会影响现有数据。