How can I do ‘insert if not exists’ in MySQL?

Use INSERT IGNORE INTO table. There’s also INSERT … ON DUPLICATE KEY UPDATE syntax, and you can find explanations in 13.2.6.2 INSERT … ON DUPLICATE KEY UPDATE Statement. Post from bogdan.org.ua according to Google’s webcache: 18th October 2007 To start: as of the latest MySQL, syntax presented in the title is not possible. But there are several very easy ways to accomplish … Read more

Simple way to calculate median with MySQL

In MariaDB / MySQL: Steve Cohen points out, that after the first pass, @rownum will contain the total number of rows. This can be used to determine the median, so no second pass or join is needed. Also AVG(dd.val) and dd.row_number IN(…) is used to correctly produce a median when there are an even number of records. Reasoning: Finally, MariaDB 10.3.3+ … Read more

Mysql command not found in OS X 10.7

This is the problem with your $PATH: /usr/local//usr/local/mysql/bin/private/var/mysql/private/var/mysql/bin. $PATH is where the shell searches for command files. Folders to search in need to be separated with a colon. And so you want /usr/local/mysql/bin/ in your path but instead it searches in /usr/local//usr/local/mysql/bin/private/var/mysql/private/var/mysql/bin, which probably doesn’t exist. Instead you want ${PATH}:/usr/local/mysql/bin. So do export PATH=${PATH}:/usr/local/mysql/bin. If you want this to be run … Read more

mysql update multiple columns with same now()

Found a solution: I found this in MySQL Docs and after a few tests it works: the following statement sets col2 to the current (updated) col1 value, not the original col1 value. The result is that col1 and col2 have the same value. This behavior differs from standard SQL. UPDATE t1 SET col1 = col1 + 1, … Read more

mysqladmin: connect to server at ‘localhost’ failed

Short version: If your MySQL user root needs a password to connect, it might be a good idea to have mysqladmin provide that password 😉 Longer version: Your MySQL user root seems to need a password to connect setting the mysql root password new But mysqladmin tries to connect without a password ‘Access denied for user ‘root’@’localhost’ (using password: NO)’ And mysqladmin does that because you’re not … Read more

MySQL combine two columns into one column

My guess is that you are using MySQL where the + operator does addition, along with silent conversion of the values to numbers. If a value does not start with a digit, then the converted value is 0. So try this: Two ways to add a space: