在看sql教程的時候,我學的是mysql,但是教程上面的一點在mysql里面是不支持的,所以就找了其他的替代的辦法
sql教程上面是這樣的:
通過使用類似 GETDATE() 這樣的函數,DEFAULT 約束也可以用於插入系統值:
CREATE TABLE Orders
(
O_Id int NOT NULL,
OrderNo int NOT NULL,
P_Id int,
OrderDate date DEFAULT GETDATE()
)
但是會報錯:ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'getdate())' at line 1
因為mysql是不支持getdate()函數的,所以就需要把getdate()函數換了。
now()函數以`yyyy-mm-dd hh:mm:ss返回當前的日期時間,可以直接存到datetime字段中。
curdate()以’yyyy-mm-dd’的格式返回今天的日期,可以直接存到date字段中。
curtime()以’hh:mm:ss’的格式返回當前的時間,可以直接存到time字段中。
所以可以把getdate()換成now()然后把orderdate 的值類型date換成 datetime
然后執行:
create table ord (o_id int not null,number int not null,p_id int,datetime datetime default now());
Query OK, 0 rows affected (0.34 sec)
就好了
××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
MySQL Date 函數
函數 作用 實例網址
NOW() 返回當前的日期和時間 http://www.w3school.com.cn/sql/func_curtime.asp
CURDATE() 返回當前的日期 http://www.w3school.com.cn/sql/func_curtime.asp
CURTIME() 返回當前的時間 http://www.w3school.com.cn/sql/func_curtime.asp
DATE() 提取日期或日期/時間表達式的日期部分 http://www.w3school.com.cn/sql/func_date.asp
EXTRACT() 返回日期/時間的單獨部分 http://www.w3school.com.cn/sql/func_extract.asp
DATE_ADD() 向日期添加指定的時間間隔 http://www.w3school.com.cn/sql/func_date_add.asp
DATE_SUB() 從日期減去指定的時間間隔 http://www.w3school.com.cn/sql/func_date_sub.asp
DATEDIFF() 返回兩個日期之間的天數 http://www.w3school.com.cn/sql/func_datediff_mysql.asp
DATE_FORMAT() 用不同的格式顯示日期/時間 http://www.w3school.com.cn/sql/func_date_format.asp
MYSQL Date 數據類型
MySQL 使用下列數據類型在數據庫中存儲日期或日期/時間值:
DATE - 格式:YYYY-MM-DD
DATETIME - 格式:YYYY-MM-DD HH:MM:SS
TIMESTAMP - 格式:YYYY-MM-DD HH:MM:SS
YEAR - 格式:YYYY 或 YY