我只是对如何更新mysql表记录(与php相关)感到好奇。
更新值。例如:在mysql表中它的值为“100”。用户想要为该值添加“50”。使用php代码将“50”传递给mysql表,并将“50”添加到“100”并更新为“150”。
将数据附加到现有值。 例如:mysql表字段中已有一个数字“Contact”(0123456789),新数字应附加到同一字段并使用逗号或其他内容分隔(0123456789,9876543210)。不使用字段contact1,contact2等。
我问这通常我们从表中检索所有数据并执行所有数学运算,然后我们覆盖并更新表。在dbms中有办法管理这种情况吗?
答案 0 :(得分:1)
1你可以使用
set col =col + 50
两个你可以使用
set contact = case when contact is null then '12345' else concat(contact, ', 12345') end
但在某些情况下,在数据库中使用csv只是一件好事。我认为这不是其中之一。我会使用与单独表格的一对多关系。请考虑以下事项。
答案 1 :(得分:1)
对于您提出的第一个问题:
UPDATE tablename SET column_with_ints = column_with_ints + 50;
对于第二个答案,您可以用相同的方式在MySQL中连接字符串。
UPDATE tablename SET column_with_string = CONCATE(column_with_stringA, column_with_stringB);
答案 2 :(得分:1)
更新时,您可以引用当前字段值。
e.g。
查询1。
UPDATE table SET col1 = col1+50 WHERE condition;
查询2。
UPDATE table SET col1 = CONCAT( col1, ', 9876543210' );
答案 3 :(得分:0)