Mysql
 sql >> Baza danych >  >> RDS >> Mysql

MYSQL - dołącz lub wstaw wartość do kolumny w zależności od tego, czy jest pusta, czy nie

https://dev.mysql.com/doc /refman/5.0/en/insert-on-duplicate.html

Oznacza to w Twoim przypadku:

INSERT INTO tablename (id,columnname) VALUES (1,'//string')
  ON DUPLICATE KEY UPDATE columnname=CONCAT(columnname,'//string');

http://sqlfiddle.com/#!9/bd0f4/1

AKTUALIZUJ Tylko po to, aby pokazać Ci opcje:

http://sqlfiddle.com/#!9/8e61c/1

INSERT INTO tablename (id, columnname) VALUES (1, '//string')
  ON DUPLICATE KEY UPDATE columnname=CONCAT(columnname,'//string');

INSERT INTO tablename (id, columnname) VALUES (1, '//string')
  ON DUPLICATE KEY UPDATE columnname=CONCAT(columnname,'//string');

INSERT INTO tablename (id, columnname) VALUES ((SELECT id FROM tablename t WHERE columnname='blahblah'), '//string')
  ON DUPLICATE KEY UPDATE columnname=CONCAT(columnname,'//string');

INSERT INTO tablename (id, columnname) VALUES ((SELECT id FROM tablename t WHERE id=2), '//string')
  ON DUPLICATE KEY UPDATE columnname=CONCAT(columnname,'//string');

INSERT INTO tablename (id, columnname) VALUES ((SELECT id FROM tablename t WHERE columnname='newone'), '//newone')
  ON DUPLICATE KEY UPDATE columnname=CONCAT(columnname,'//newone');


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wyrażenie regularne mySQL w klauzuli where

  2. Czasy eksportu danych MySQL zmieniają się

  3. procedury składowane i problem z mysql_insert_id

  4. MySQL Query wykonuje się, ale zgłasza wyjątek

  5. Spring Data JPA z Java 8 LocalDateTime