MySQL DML語句書寫建議

chenfeng發表於2017-03-21
  • DML語句不允許出現@number方式替代欄位名稱
不合理的寫法:UPDATE table_name SET @1=NOW() WHERE @2=1;
正確的寫法:UPDATE table_name SET column_name1=NOW() WHERE column_name2=1;
  • UPDATE OR DELETE 禁用LIMIT子句
不合理的寫法:UPDATE table_name SET column_name1=NOW() WHERE column_name2=1 LIMIT 1;
正確的寫法:UPDATE table_name SET column_name1=NOW() WHERE column_name2=1;
  • INSERT語句需要寫清楚值和欄位對應關係
不合理的寫法:
INSERT INTO table_name VALUES(NOW(),DATE_ADD(NOW(),INTERVAL +1 DAY));
正確的寫法:
INSERT INTO table_name(aisino_create,aisino_modify) VALUES(NOW(),DATE_ADD(NOW(),INTERVAL +1 DAY));
  • DML語句少用不確定性函式
常見被大家使用的不確定性函式:UUID()、RAND()、SYSDATE()等函式,若無特殊用處之外,請以確定性函式替代之。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2135730/,如需轉載,請註明出處,否則將追究法律責任。

相關文章