簡體   English   中英

更新mysql表記錄

[英]Update mysql table record

我只是好奇更新mysql表記錄(與php連接)如下。

  1. 更新一個值。 例如:在mysql表中它的值為“100”。 用戶想要為該值添加“50”。 使用php代碼將“50”傳遞給mysql表,並將“50”添加到“100”並更新為“150”。

  2. 將數據附加到現有值。 例如:mysql表字段中已有一個數字“Contact”(0123456789),新數字應附加到同一字段並使用逗號或其他內容分隔(0123456789,9876543210)。 不使用字段contact1,contact2等。

我問這通常我們從表中檢索所有數據並執行所有數學運算,畢竟我們覆蓋並更新表。 有沒有辦法在dbms中管理這種情況?

為1你可以使用

set col =col + 50

你可以用兩個

set contact = case when contact is null then '12345' else concat(contact, ',  12345') end

但在某些情況下,在數據庫中使用csv只是一件好事。 我認為這不是其中之一。 我會使用與單獨表格的一對多關系。 考慮以下。

  1. 刪除一個聯系號碼意味着解析字符串並創建一個新值。
  2. 找到一定數量的人
  3. 按編號排序

對於您提出的第一個問題:

UPDATE tablename SET column_with_ints = column_with_ints + 50;

對於第二個答案,您可以以相同的方式在MySQL中連接字符串。

UPDATE tablename SET column_with_string = CONCATE(column_with_stringA, column_with_stringB);

更新時,您可以引用當前字段值。

例如

查詢1。

UPDATE table SET col1 = col1+50 WHERE condition;

查詢2。

UPDATE table SET col1 = CONCAT( col1, ', 9876543210' );
  1. 更新myTable設置MyValue = MyValue + 50,其中myId = x
  2. 更新myTable設置MyValue = CONCAT(MyValue,',9876543210'),其中myId = x

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM