發表文章

目前顯示的是有「SQL」標籤的文章

MySQL java milliseconds 轉成 date , 或者 date 轉成 java milliseconds

1. 由 Date 轉換成  java milliseconds Ex1: SELECT UNIX_TIMESTAMP(CURDATE())*1000; 結果如下 +--------------------------------+ | UNIX_TIMESTAMP(CURDATE())*1000 | +--------------------------------+ |                  1417737600000 | +--------------------------------+ 1 row in set Ex2 SELECT UNIX_TIMESTAMP(STR_TO_DATE('Apr 15 2012 12:00AM', '%M %d %Y %h:%i%p'))*1000; +------------------------------------------------------------------------+ | UNIX_TIMESTAMP(STR_TO_DATE('Apr 15 2012 12:00AM', '%M %d %Y %h:%i%p'))*1000 | +------------------------------------------------------------------------+ |                                                             1334448000000 | +------------------------------------------------------------------------+ 1 row in set 2. 由 java milli...

12月8日 [MySQL]觸發器(Triggers) 寫法和 介紹

圖片
當我們在 MySQL 下 更新指令(update ,insert ,delete ) 時 可能同時要昨其他事情,這時候MySQL 提供了可以寫腳本的地方 ex: CREATE TABLE test1(a1 INT); CREATE TABLE test2(a2 INT); CREATE TABLE test3(a3 INT NOT NULL AUTO_INCREMENT PRIMARY KEY); CREATE TABLE test4( a4 INT NOT NULL AUTO_INCREMENT PRIMARY KEY, b4 INT DEFAULT 0 ); delimiter | CREATE TRIGGER testref BEFORE INSERT ON test1 FOR EACH ROW BEGIN INSERT INTO test2 SET a2 = NEW.a1; DELETE FROM test3 WHERE a3 = NEW.a1; UPDATE test4 SET b4 = b4 + 1 WHERE a4 = NEW.a1; END; | delimiter ; INSERT INTO test3 (a3) VALUES (NULL), (NULL), (NULL), (NULL), (NULL), (NULL), (NULL), (NULL), (NULL), (NULL); INSERT INTO test4 (a4) VALUES (0), (0), (0), (0), (0), (0), (0), (0), (0), (0); 把 表單和 trigger 設定好了,接下來對表單作修改 mysql> INSERT INTO test1 VALUES -> (1), (3), (1), (7), (1), (8), (4), (4); 我門來看一下結果巴!! mysql> SELECT * FROM test1; +------+ | a1 | +------+ | 1 | | 3 | | 1 | | 7 | | 1 | | 8 | | 4 | | 4 | +------+ 8 rows in set ...

11月24日 [MySQL] 修改 設定檔

例如在centos 下,/etc/my.cnf. 範例 修改城預設 ust-8 [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql # Default to using old password format for compatibility with mysql 3.x # clients (those using the mysqlclient10 compatibility package). old_passwords=1 init_connect='SET collation_connection = utf8_general_ci' init_connect='SET NAMES utf8' default-character-set=utf8 character-set-server=utf8 collation-server=utf8_general_ci [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid

6月15日 如何在insert資料時,自動抓時間和日期

通常在資料庫中都會有一個欄位是時間和日期,如果是使用著的時間那大家的時間就大亂 如果要抓server時間可能要寫一大堆ajax等等... 還好mysql 幫你準備好了 CURDATE() 和 CURTIME() 這兩個函數給你用 example CURDATE() //This assumes you have already created the 'dateplayground' table //Connect to DB $query_manual = "INSERT INTO dateplayground (dp_name, dp_date) VALUES ('DATE: Manual Date', '2020-2-14')"; $query_auto = "INSERT INTO dateplayground (dp_name, dp_date) VALUE ('DATE: Auto CURDATE()', CURDATE() )"; mysql_query($query_manual) or die(mysql_error()); mysql_query($query_auto) or die(mysql_error()); ?> example CURTIME() $query_manual = "INSERT INTO dateplayground (dp_name, dp_datetime) VALUES ('DATETIME: Manual DateTime', '1776-7-4 04:13:54')"; $query_autodate = "INSERT INTO dateplayground (dp_name, dp_datetime) VALUE ('DATETIME: Auto CURDATE()', CURDATE() )"; $query_autotime = "INSERT INTO dateplayground (dp_name, dp_datetime) VALUE ('DATETIME: Auto CURTIM...