sql >> Databáze >  >> RDS >> Mysql

MYSQL - připojit nebo vložit hodnotu do sloupce v závislosti na tom, zda je prázdný nebo ne

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

To ve vašem případě znamená:

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

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

AKTUALIZACE Jen pro ukázku vašich možností:

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. Chyba MySQL při vkládání dat obsahujících apostrofy (jednoduché uvozovky)?

  2. Mám se držet pouze AWS RDS Automated Backup nebo DB Snapshots?

  3. Nesprávná syntaxe poblíž „GO“

  4. 7 způsobů, jak vrátit duplicitní řádky, které mají primární klíč v MariaDB