
рдПрдХ рдмрд╛рд░ рдЬрдм рдореИрдВрдиреЗ рдЦреБрдж рдХреЛ рдпрд╣ рд╕реЛрдЪ рдХрд░ рдкрдХрдбрд╝рд╛ рдХрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕рдордп рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реБрдП, рдореИрдВ рд▓рдЧрднрдЧ рд╣рдореЗрд╢рд╛ рджреВрд╕рд░реЗ рдХреЗ рд▓рд┐рдП рд╕рдЯреАрдХ рд╕рдордп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдпрд╣ рджрд╕реНрддрд╛рд╡реЗрдЬ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╡рд┐рдХрд▓реНрдк рдФрд░ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЕрдм рдпрд╣ рд╕рдЯреАрдХрддрд╛ рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИред рдЖрдзреБрдирд┐рдХ рдкреНрд░рдгрд╛рд▓рд┐рдпрд╛рдВ рдЬрдЯрд┐рд▓ рд╣реИрдВ - рд╡реЗ рдХрдИ рд╣рд┐рд╕реНрд╕реЛрдВ рд╕реЗ рдорд┐рд▓рдХрд░ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓рд╛рдЦреЛрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ - рдФрд░ рдХрдИ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЕрдзрд┐рдХ рд╕рдЯреАрдХрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рд╕рдорд░реНрдерди рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдореМрдЬреВрдж рд╣реИред
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ MySQL рдФрд░ PHP рдореЗрдВ рдПрдХ рд╕реЗрдХрдВрдб рдХреЗ рдЖрдВрд╢рд┐рдХ рднрд╛рдЧреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдордп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛ред рдпрд╣ рдПрдХ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд▓реНрдкрдирд╛ рдХреА рдЧрдИ рдереА, рдЗрд╕рд▓рд┐рдП рд╕рд╛рдордЧреНрд░реА рдХреЛ рдкрд╛рдардХреЛрдВ рдХреА рдПрдХ рд╡рд┐рд╕реНрддреГрдд рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдХреБрдЫ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдкреНрд░рд▓реЗрдЦрди рджреЛрд╣рд░рд╛рддрд╛ рд╣реИред рдореБрдЦреНрдп рдореВрд▓реНрдп рдпрд╣ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдореИрдВрдиреЗ MySQL, PHP рдФрд░ Yii рдврд╛рдВрдЪреЗ рдореЗрдВ рдРрд╕реЗ рд╕рдордп рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рднреА рдЪреАрдЬреЛрдВ рдХреЛ рдПрдХ рдкрд╛рда рдореЗрдВ рдПрдХрддреНрд░ рдХрд┐рдпрд╛, рдФрд░ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рд╕рд╛рдордирд╛ рдХреА рдЬрд╛ рд╕рдХрдиреЗ рд╡рд╛рд▓реА рдЕрд╕рдВрдмрджреНрдз рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╡рд┐рд╡рд░рдг рднреА рдЬреЛрдбрд╝рд╛ред
рдореИрдВ "рдЙрдЪреНрдЪ рдкрд░рд┐рд╢реБрджреНрдзрддрд╛ рд╕рдордп" рд╢рдмреНрдж рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛ред MySQL рдХреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рдЖрдкрдХреЛ "рдЖрдВрд╢рд┐рдХ рд╕реЗрдХрдВрдб" рд╢рдмреНрдж рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рд╢рд╛рдмреНрджрд┐рдХ рдЕрдиреБрд╡рд╛рдж рдЕрдЬреАрдм рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдПрдХ рдФрд░ рд╕реНрдерд╛рдкрд┐рдд рдЕрдиреБрд╡рд╛рдж рдирд╣реАрдВ рдорд┐рд▓рд╛ред
рдЙрдЪреНрдЪ рдкрд░рд┐рд╢реБрджреНрдзрддрд╛ рд╕рдордп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдм рдХрд░реЗрдВ?
рд╢реБрд░реБрдЖрдд рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЕрдкрдиреЗ рдЗрдирдмреЙрдХреНрд╕ рдХреЗ рдЗрдирдмреЙрдХреНрд╕ рдХрд╛ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рджрд┐рдЦрд╛рдКрдВрдЧрд╛, рдЬреЛ рдЗрд╕ рд╡рд┐рдЪрд╛рд░ рдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рджрд┐рдЦрд╛рддрд╛ рд╣реИ:

рдкрддреНрд░ рдПрдХ рд╣реА рдШрдЯрдирд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рд╡реНрдпрдХреНрддрд┐ рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╣реИред рдПрдХ рдЖрджрдореА рдиреЗ рдЧрд▓рддреА рд╕реЗ рдЧрд▓рдд рдмрдЯрди рджрдмрд╛ рджрд┐рдпрд╛, рдЬрд▓реНрджреА рд╕реЗ рдЗрд╕реЗ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдФрд░ рдЦреБрдж рдХреЛ рд╕рд╣реА рдХрд┐рдпрд╛ред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдореЗрдВ рд▓рдЧрднрдЧ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рднреЗрдЬреЗ рдЧрдП рджреЛ рдкрддреНрд░ рдкреНрд░рд╛рдкреНрдд рд╣реБрдП, рдЬрд┐рдиреНрд╣реЗрдВ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХреНрд░рдордмрджреНрдз рдХрд░рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдпрджрд┐ рднреЗрдЬрдиреЗ рдХрд╛ рд╕рдордп рд╕рдорд╛рди рд╣реИ, рддреЛ рдПрдХ рдореМрдХрд╛ рд╣реИ рдХрд┐ рдкрддреНрд░ рдЧрд▓рдд рдХреНрд░рдо рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрдВрдЧреЗ рдФрд░ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рд╢рд░реНрдорд┐рдВрджрд╛ рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рддрдм рд╡рд╣ рдЧрд▓рдд рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдЧрд╛ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд╡рд╣ рдЧрдгрдирд╛ рдХрд░реЗрдЧрд╛ред
рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдЖрдпрд╛ рдЬрд┐рд╕рдореЗрдВ рдЙрдЪреНрдЪ рд╕рдЯреАрдХрддрд╛ рд╕рдордп рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реЛрдЧрд╛:
- рдЖрдк рдХреБрдЫ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдмреАрдЪ рдХреЗ рд╕рдордп рдХреЛ рдорд╛рдкрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдпрд╣рд╛рдВ, рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ: рдЕрдВрддрд░рд╛рд▓ рдкрд░ рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рдХреА рд╕рдЯреАрдХрддрд╛ рдЬрд┐рддрдиреА рдЕрдзрд┐рдХ рд╣реЛрдЧреА, рдкрд░рд┐рдгрд╛рдо рдХреА рд╕рдЯреАрдХрддрд╛ рдЙрддрдиреА рд╣реА рдЕрдзрд┐рдХ рд╣реЛрдЧреАред рдпрджрд┐ рдЖрдк рдкреВрд░реЗ рд╕реЗрдХрдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк 1 рд╕реЗрдХрдВрдб рдХреЗ рд▓рд┐рдП рдЧрд▓рддреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдпрджрд┐ рдЖрдк рд╕реЗрдХрдВрдб рдХреА рд╕реАрдорд╛ рдкрд░ рдЖрддреЗ рд╣реИрдВ)ред рдпрджрд┐ рдЖрдк рдЫрд╣ рджрд╢рдорд▓рд╡ рд╕реНрдерд╛рдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рддреНрд░реБрдЯрд┐ рдкрд░рд┐рдорд╛рдг рдХреЗ рдЫрд╣ рдЖрджреЗрд╢ рдХрдо рд╣реЛрдВрдЧреЗред
- рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рд╕рдВрдЧреНрд░рд╣ рд╣реИ рдЬрд╣рд╛рдВ рдпрд╣ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдПрдХ рд╣реА рдирд┐рд░реНрдорд╛рдг рд╕рдордп рдХреЗ рд╕рд╛рде рдХрдИ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИрдВред рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣рд░ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдЪрд┐рдд рдЪреИрдЯ рд╣реИ, рдЬрд╣рд╛рдВ рдЕрдВрддрд┐рдо рд╕рдВрджреЗрд╢ рдХреЗ рд╕рдордп рддрдХ рд╕рдВрдкрд░реНрдХ рд╕реВрдЪреА рдХреЛ рдХреНрд░рдордмрджреНрдз рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдкреГрд╖реНрда-рджрд░-рдкреГрд╖реНрда рдиреЗрд╡рд┐рдЧреЗрд╢рди рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ, рддреЛ рдкреГрд╖реНрда рд╕реАрдорд╛рдУрдВ рдкрд░ рд╕рдВрдкрд░реНрдХ рдЦреЛрдиреЗ рдХрд╛ рдЬреЛрдЦрд┐рдо рднреА рд╣реИред рдлрд╝реАрд▓реНрдб рдХреА рдПрдХ рдЬреЛрдбрд╝реА (рдХрд┐рд╕реА рд╡рд╕реНрддреБ рдХрд╛ рд╕рдордп + рдЕрджреНрд╡рд┐рддреАрдп рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛) рджреНрд╡рд╛рд░рд╛ рд╕реЙрд░реНрдЯрд┐рдВрдЧ рдФрд░ рдкреЗрдЬрд┐рдВрдЧ рдХреЗ рдХрд╛рд░рдг рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдЙрдЪреНрдЪ рд╕рдЯреАрдХрддрд╛ рдХреЗ рд╕рдордп рдХреЗ рдмрд┐рдирд╛ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдореЗрдВ рдЗрд╕рдХреА рдХрдорд┐рдпрд╛рдВ рд╣реИрдВ (рдХрдо рд╕реЗ рдХрдо SQL рдкреНрд░рд╢реНрдиреЛрдВ рдХреА рдЬрдЯрд┐рд▓рддрд╛, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдЗрддрдирд╛ рд╣реА рдирд╣реАрдВ)ред рд╕рдордп рдХреА рд╕рдЯреАрдХрддрд╛ рдмрдврд╝рд╛рдиреЗ рд╕реЗ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдФрд░ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдЬрдЯрд┐рд▓ рдХрд┐рдП рдмрд┐рдирд╛ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓реЗрдЧреАред
- рдЖрдкрдХреЛ рдХрд┐рд╕реА рд╡рд╕реНрддреБ рдХрд╛ рдЗрддрд┐рд╣рд╛рд╕ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рд╕реЗрд╡рд╛ рдХреА рджреБрдирд┐рдпрд╛ рдореЗрдВ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдЬрд╣рд╛рдВ рд╕рдВрд╢реЛрдзрди рд╕рдорд╛рдирд╛рдВрддрд░ рдФрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВ рд╣рдорд╛рд░реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рддрд╕реНрд╡реАрд░реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рдЬрд╣рд╛рдВ рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдСрдкрд░реЗрд╢рди рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ (рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдлреЛрдЯреЛ рдХреЛ рдирд┐рдЬреА рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдЗрд╕реЗ рд╣рдЯрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕реЗ рдХрдИ рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рдореЙрдбрд░реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЪреИрдЯ рдореЗрдВ рдлреЛрдЯреЛ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдХреНрд░реЙрдк рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЖрджрд┐)ред )ред
рдпрд╣ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╡реНрдпрдХреНрддрд┐ рдкреНрд░рд╛рдкреНрдд рдореВрд▓реНрдпреЛрдВ рдкрд░ 100% рднрд░реЛрд╕рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдкреНрд░рд╛рдкреНрдд рдореВрд▓реНрдпреЛрдВ рдХреА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдЯреАрдХрддрд╛ рдЫрд╣ рджрд╢рдорд▓рд╡ рд╕реНрдерд╛рдиреЛрдВ рд╕реЗ рдХрдо рд╣реЛ рд╕рдХрддреА рд╣реИред рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рд╣рдо рдПрдХ рдЧрд▓рдд рд╕рдордп рдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рд╡рд┐рд╢реЗрд╖рдХрд░ рдЬрдм рдПрдХ рд╡рд┐рддрд░рд┐рдд рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдХрдИ рд╕рд░реНрд╡рд░реЛрдВ рд╕реЗ рдорд┐рд▓рдХрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ), рд╕рдордп рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд░реВрдк рд╕реЗ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рдПрдирдЯреАрдкреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдпрд╛ рдШрдбрд╝реА рдмрджрд▓рддреЗ рд╕рдордп), рдЖрджрд┐ред рдореИрдВ рдЗрди рд╕рднреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджреВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдореИрдВ рдЙрди рд▓реЗрдЦреЛрдВ рдХреА рдПрдХ рдЬреЛрдбрд╝реА рджреВрдВрдЧрд╛ рдЬрд╣рд╛рдБ рдЖрдк рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ:
MySQL рдореЗрдВ рдЙрдЪреНрдЪ рдкрд░рд┐рд╢реБрджреНрдзрддрд╛ рд╕рдордп рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВ
MySQL рддреАрди рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕реНрддрдВрднреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕рдордп рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: TIME
, DATETIME
рдФрд░ TIMESTAMP
ред рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рд╡реЗ рдХреЗрд╡рд▓ рдЙрди рдореВрд▓реНрдпреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░ рд╕рдХрддреЗ рдереЗ рдЬреЛ рдПрдХ рд╕реЗрдХрдВрдб рдХреЗ рдЧреБрдгрдХ рдереЗ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, 2019-08-14 19:20:21)ред рд╕рдВрд╕реНрдХрд░рдг 5.6.4 рдореЗрдВ, рдЬрд┐рд╕реЗ рджрд┐рд╕рдВрдмрд░ 2011 рдореЗрдВ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдПрдХ рд╕реЗрдХрдВрдб рдХреЗ рднрд┐рдиреНрдирд╛рддреНрдордХ рднрд╛рдЧ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЧрдпрд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреЙрд▓рдо рдмрдирд╛рддреЗ рд╕рдордп, рдЖрдкрдХреЛ рджрд╢рдорд▓рд╡ рд╕реНрдерд╛рдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬрд┐рд╕реЗ рд╕рдордп рд╕реНрдЯрд╛рдореНрдк рдХреЗ рдЖрдВрд╢рд┐рдХ рднрд╛рдЧ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕рдорд░реНрдерд┐рдд рд╡рд░реНрдгреЛрдВ рдХреА рдЕрдзрд┐рдХрддрдо рд╕рдВрдЦреНрдпрд╛ рдЫрд╣ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рдорд╛рдЗрдХреНрд░реЛрд╕реЗрдХрдВрдб рдХреЗ рд▓рд┐рдП рд╕рдЯреАрдХ рд╕рдордп рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдЕрдзрд┐рдХ рд╡рд░реНрдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдПрдХ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИред
рдПрдХ рдЙрджрд╛рд╣рд░рдг:
Test> CREATE TABLE `ChatContactsList` ( `chat_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY, `title` varchar(255) NOT NULL, `last_message_send_time` timestamp(2) NULL DEFAULT NULL ) ENGINE=InnoDB; Query OK, 0 rows affected (0.02 sec) Test> ALTER TABLE `ChatContactsList` MODIFY last_message_send_time TIMESTAMP(9) NOT NULL; ERROR 1426 (42000): Too-big precision 9 specified for 'last_message_send_time'. Maximum is 6. Test> ALTER TABLE `ChatContactsList` MODIFY last_message_send_time TIMESTAMP(3) NOT NULL; Query OK, 0 rows affected (0.09 sec) Records: 0 Duplicates: 0 Warnings: 0 Test> INSERT INTO ChatContactsList (title, last_message_send_time) VALUES ('Chat #1', NOW()); Query OK, 1 row affected (0.03 sec) Test> SELECT * FROM ChatContactsList; +
рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╕рдореНрдорд┐рд▓рд┐рдд рд░рд┐рдХреЙрд░реНрдб рдХреЗ рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рдореЗрдВ рдПрдХ рд╢реВрдиреНрдп рдЕрдВрд╢ рд╣реИред рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реБрдЖ рдХреНрдпреЛрдВрдХрд┐ рдЗрдирдкреБрдЯ рдорд╛рди рдирд┐рдХрдЯрддрдо рд╕реЗрдХрдВрдб рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрдирдкреБрдЯ рдорд╛рди рдХреА рд╕рдЯреАрдХрддрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдорд╛рди рдХреЗ рд╕рдорд╛рди рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рд╕рд▓рд╛рд╣ рд╕реНрдкрд╖реНрдЯ рд▓рдЧрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдПрдХ рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛ рд╕рд╛рдордиреЗ рдЖ рд╕рдХрддреА рд╣реИ: рд╣рдореЗрдВ рдПрдХ рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ рдЬрд╣рд╛рдВ рдЗрдирдкреБрдЯ рдореВрд▓реНрдп рдореЗрдВ рддреАрди рджрд╢рдорд▓рд╡ рд╕реНрдерд╛рди рдереЗ рдФрд░ рдЫрд╣ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдереЗред
рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣реЛрдиреЗ рд╕реЗ рд░реЛрдХрдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдЗрдирдкреБрдЯ рдорд╛рдиреЛрдВ рдХрд╛ рдЕрдзрд┐рдХрддрдо рд╕рдЯреАрдХрддрд╛ (рдорд╛рдЗрдХреНрд░реЛрд╕реЗрдХрдВрдб рддрдХ) рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдбреЗрдЯрд╛ рд▓рд┐рдЦрддреЗ рд╕рдордп, рд╕рдордп рдХреЛ рдЖрд╡рд╢реНрдпрдХ рд╕рдЯреАрдХрддрд╛ рдХреЗ рд▓рд┐рдП рдЧреЛрд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ рдПрдХ рдмрд┐рд▓реНрдХреБрд▓ рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдерд┐рддрд┐ рд╣реИ рдЬреЛ рдХрд┐рд╕реА рднреА рдЪреЗрддрд╛рд╡рдиреА рдХрд╛ рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реЛрдЧреА:
Test> UPDATE ChatContactsList SET last_message_send_time="2019-09-22 22:23:15.2345" WHERE chat_id=1; Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0 Test> SELECT * FROM ChatContactsList; +
рд╕реНрд╡рдд: рдкреНрд░рд╛рд░рдВрдн рдФрд░ TIMESTAMP рд╕реНрддрдВрднреЛрдВ рдХреЗ рд╕реНрд╡рдд: рдЕрджреНрдпрддрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
рдХреА рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдорд╛рдиреЛрдВ рдореЗрдВ рд╕реНрддрдВрдн рдХреЗ рд╕рдорд╛рди рд╕рдЯреАрдХрддрд╛ рд╣реЛ:
Test> ALTER TABLE ChatContactsList ADD COLUMN updated TIMESTAMP(3) DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP; ERROR 1067 (42000): Invalid default value for 'updated' Test> ALTER TABLE ChatContactsList ADD COLUMN updated TIMESTAMP(3) DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6); ERROR 1067 (42000): Invalid default value for 'updated' Test> ALTER TABLE ChatContactsList ADD COLUMN updated TIMESTAMP(3) DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3); Query OK, 0 rows affected (0.07 sec) Records: 0 Duplicates: 0 Warnings: 0 Test> UPDATE ChatContactsList SET last_message_send_time='2019-09-22 22:22:22' WHERE chat_id=1; Query OK, 0 rows affected (0.00 sec) Rows matched: 1 Changed: 0 Warnings: 0 Test> SELECT * FROM ChatContactsList; +
рдорд╛рдк рдХреА рдЗрдХрд╛рдЗрдпреЛрдВ рдХреЗ рдЖрдВрд╢рд┐рдХ рднрд╛рдЧ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдордп рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП MySQL рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред рдореИрдВ рдЙрди рд╕рднреА рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ (рдореИрдВ рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рджреЗрдЦрдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реВрдВ), рд▓реЗрдХрд┐рди рдореИрдВ рдХреБрдЫ рдЙрджрд╛рд╣рд░рдг рджреВрдВрдЧрд╛:
Test> SELECT NOW(2), NOW(4), NOW(4) + INTERVAL 7.5 SECOND; +
рдПрд╕рдХреНрдпреВрдПрд▓ рдкреНрд░рд╢реНрдиреЛрдВ рдореЗрдВ рдЕрдВрд╢реЛрдВ рдХреЗ рднрд┐рдиреНрдирд╛рддреНрдордХ рднрд╛рдЧ рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рдЬреБрдбрд╝реА рдореБрдЦреНрдп рд╕рдорд╕реНрдпрд╛ рддреБрд▓рдирд╛ ( >
, <
, BETWEEN
) рдореЗрдВ рд╕рдЯреАрдХрддрд╛ рдореЗрдВ рдЕрд╕рдВрдЧрддрд┐ рд╣реИред рдпрджрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдбреЗрдЯрд╛ рдХреА рдПрдХ рд╕рдЯреАрдХрддрд╛ рд╣реИ, рдФрд░ рдкреНрд░рд╢реНрдиреЛрдВ рдореЗрдВ - рдХреЛрдИ рдФрд░ рд╣реЛ рддреЛ рдЖрдк рдЗрд╕рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдЙрджрд╛рд╣рд░рдг рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдЙрджрд╛рд╣рд░рдг рд╣реИ:
рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдХреНрд╡реЗрд░реА рдореЗрдВ рдореВрд▓реНрдпреЛрдВ рдХреА рд╕рдЯреАрдХрддрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдореВрд▓реНрдпреЛрдВ рдХреА рд╕рдЯреАрдХрддрд╛ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ, рдФрд░ рд╕рдорд╕реНрдпрд╛ "рдКрдкрд░ рд╕реЗ рд╕реАрдорд╛ рдкрд░" рд╣реЛрддреА рд╣реИред рд╡рд┐рдкрд░реАрдд рдкрд░рд┐рд╕реНрдерд┐рддрд┐ рдореЗрдВ (рдпрджрд┐ рдЗрдирдкреБрдЯ рдорд╛рди рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдорд╛рди рд╕реЗ рдХрдо рд╕рдЯреАрдХрддрд╛ рд╣реИ) рддреЛ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрдЧреА - MySQL INSERT рдФрд░ SELECT рджреЛрдиреЛрдВ рдореЗрдВ рд╡рд╛рдВрдЫрд┐рдд рд╕рдЯреАрдХрддрд╛ рдХреЗ рд▓рд┐рдП рдореВрд▓реНрдп рд▓рд╛рдПрдЧрд╛:
Test> INSERT INTO ChatContactsList (title, last_message_send_time) VALUES ('Chat #3', '2019-09-03 21:20:19.1'); Query OK, 1 row affected (0.00 sec) Test> SELECT title, last_message_send_time FROM ChatContactsList WHERE last_message_send_time <= '2019-09-03 21:20:19.1'; +
рдЙрдЪреНрдЪ рдкрд░рд┐рд╢реБрджреНрдзрддрд╛ рд╕рдордп рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдореВрд▓реНрдпреЛрдВ рдХреА рд╕рдЯреАрдХрддрд╛ рдХреА рд╕реНрдерд┐рд░рддрд╛ рдХреЛ рд╣рдореЗрд╢рд╛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдЗрд╕ рддрд░рд╣ рдХреА рд╕реАрдорд╛ рд╕рдорд╕реНрдпрд╛рдПрдВ рдЖрдкрдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдб рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рдорд╛рди рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рджрд╢рдорд▓рд╡ рд╕реНрдерд╛рдиреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВред
рд╕реЗрдХрдВрдб рдХреЗ рдЖрдВрд╢рд┐рдХ рднрд╛рдЧреЛрдВ рдХреЗ рд╕рд╛рде рд╕реНрддрдВрднреЛрдВ рдореЗрдВ рд╕рдЯреАрдХрддрд╛ рдЪреБрдирдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░рд╕рдордп рдХреА рдПрдХ рдЗрдХрд╛рдИ рдХреЗ рднрд┐рдиреНрдирд╛рддреНрдордХ рднрд╛рдЧ рдХреЗ рдХрдмреНрдЬреЗ рд╡рд╛рд▓реЗ рд╕реНрдерд╛рди рдХреА рдорд╛рддреНрд░рд╛ рдХреЙрд▓рдо рдореЗрдВ рд╡рд░реНрдгреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИред рдкрд░рд┐рдЪрд┐рдд рдЕрд░реНрде рдЪреБрдирдирд╛ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд▓рдЧрддрд╛ рд╣реИ: рддреАрди рдпрд╛ рдЫрд╣ рджрд╢рдорд▓рд╡ рд╕реНрдерд╛рдиред рд▓реЗрдХрд┐рди рддреАрди рдкрд╛рддреНрд░реЛрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдЗрддрдирд╛ рд╕рд░рд▓ рдирд╣реАрдВ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, MySQL рджреЛ рджрд╢рдорд▓рд╡ рд╕реНрдерд╛рдиреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╛рдЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ:
рджрд┐рдирд╛рдВрдХ рдФрд░ рд╕рдордп рдкреНрд░рдХрд╛рд░ рднрдВрдбрд╛рд░рдг рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ
рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдк рддреАрди рджрд╢рдорд▓рд╡ рд╕реНрдерд╛рдиреЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрдмреНрдЬреЗ рд╡рд╛рд▓реЗ рд╕реНрдерд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдПрдХ рд╣реА рдУрд╡рд░рд╣реЗрдб рдХреЗ рд▓рд┐рдП рдЖрдк рдЪрд╛рд░ рд╡рд░реНрдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдореИрдВ рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рд╣рдореЗрд╢рд╛ рдПрдХ рд╕рдорд╛рди рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╡рд░реНрдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдФрд░ рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рддреЗ рд╕рдордп "рдлрд╕рд▓" рдЕрдирд╛рд╡рд╢реНрдпрдХ рдХрд░реЗрдВред рдЖрджрд░реНрд╢ рд╡рд┐рдХрд▓реНрдк рд▓рд╛рд▓рдЪреА рдирд╣реАрдВ рд╣реИ рдФрд░ рдЫрд╣ рджрд╢рдорд▓рд╡ рд╕реНрдерд╛рдиреЛрдВ рдХреЛ рд▓реЗрдирд╛ рд╣реИред рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рд╕реНрдерд┐рддрд┐ рдореЗрдВ (DATETIME рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рд╛рде), рдпрд╣ рдХреЙрд▓рдо 8 рдмрд╛рдЗрдЯреНрд╕ рдкрд░ рдХрдмреНрдЬрд╛ рдХрд░ рд▓реЗрдЧрд╛, рдЬреЛ рдХрд┐ BIGINT рдХреЙрд▓рдо рдореЗрдВ рдкреВрд░реНрдгрд╛рдВрдХ рдЬрд┐рддрдирд╛ рд╣реЛрдЧрд╛ред
рдпрд╣ рднреА рджреЗрдЦреЗрдВ:
PHP рдореЗрдВ рдЙрдЪреНрдЪ рдкрд░рд┐рд╢реБрджреНрдзрддрд╛ рд╕рдордп рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВ
рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдЙрдЪреНрдЪ рдкрд░рд┐рд╢реБрджреНрдзрддрд╛ рд╕рдордп рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИ - рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рдХреЛрдб рдореЗрдВ рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕ рдЦрдВрдб рдореЗрдВ рдореИрдВ рддреАрди рдореБрдЦреНрдп рдмрд┐рдВрджреБрдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛:
- рд╕рдордп рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдФрд░ рдкреНрд░рд╛рд░реВрдкрдг рдХрд░рдирд╛: рдореИрдВ рд╕рдордЭрд╛рдКрдВрдЧрд╛ рдХрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдбрд╛рд▓рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╕рдордп рдХреА рдореБрд╣рд░ рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ, рдЗрд╕реЗ рд╡рд╣рд╛рдВ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ рдФрд░ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╣реЗрд░рдлреЗрд░ рдХрд░реЗрдВред
- рдкреАрдбреАрдУ рдореЗрдВ рд╕рдордп рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛: рдореИрдВ рдЖрдкрдХреЛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдЦрд╛рдКрдВрдЧрд╛ рдХрд┐ рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ PHP рдкреНрд░рд╛рд░реВрдкрдг рд╕рдордп рдХрд╛ рд╕рдорд░реНрдерди рдХреИрд╕реЗ рдХрд░рддрд╛ рд╣реИред
- рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рд╕рдордп рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛: рдореИрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдореЗрдВ рд╕рдордп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛ред
рд╕рдордп рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп, рдХрдИ рдмреБрдирд┐рдпрд╛рджреА рдСрдкрд░реЗрд╢рди рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:
- рд╕рдордп рдореЗрдВ рд╡рд░реНрддрдорд╛рди рдмрд┐рдВрджреБ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛;
- рдХреБрдЫ рд╕реНрд╡рд░реВрдкрд┐рдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реЗ рд╕рдордп рдореЗрдВ рдПрдХ рдкрд▓ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ;
- рдПрдХ рдЕрд╡рдзрд┐ рдХреЛ рд╕рдордп рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ (рдпрд╛ рдПрдХ рдЕрд╡рдзрд┐ рдШрдЯрд╛рдирд╛);
- рд╕рдордп рдореЗрдВ рдПрдХ рдмрд┐рдВрджреБ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрд╡рд░реВрдкрд┐рдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╣реЛ рд░рд╣реА рд╣реИред
рдЗрд╕ рднрд╛рдЧ рдореЗрдВ рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ PHP рдореЗрдВ рдЗрди рдСрдкрд░реЗрд╢рдиреЛрдВ рдХреЛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рд╕рдВрднрд╛рд╡рдирд╛рдПрдБ рд╣реИрдВред
рдкрд╣рд▓рд╛ рддрд░реАрдХрд╛ рдПрдХ рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░рдирд╛ рд╣реИ ред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, PHP рдХреЛрдб рдореЗрдВ рд╣рдо рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдЪрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕реЗ рд╣рдо time
, date
, strtotime
рдЬреИрд╕реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдВрдЪрд╛рд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрдЪреНрдЪ рдкрд░рд┐рд╢реБрджреНрдзрддрд╛ рд╕рдордп рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрди рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рдПрдХ рдкреВрд░реНрдгрд╛рдВрдХ рд╣реИрдВ (рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЙрдирдореЗрдВ рдЖрдВрд╢рд┐рдХ рдЕрдВрд╢ рдЦреЛ рдЬрд╛рдПрдЧрд╛)ред
рдпрд╣рд╛рдБ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рджрд╕реНрддрд╛рд╡реЗрдЬ рд╕реЗ рдореБрдЦреНрдп рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рд╣реИрдВ:
time ( void ) : int
https://www.php.net/manual/ru/function.time.php
strtotime ( string $time [, int $now = time() ] ) : int
http://php.net/manual/ru/function.strtotime.php
date ( string $format [, int $timestamp = time() ] ) : string
https://php.net/manual/ru/function.date.php
strftime ( string $format [, int $timestamp = time() ] ) : string
https://www.php.net/manual/ru/function.strftime.php
рддрд╛рд░реАрдЦ рд╕рдорд╛рд░реЛрд╣ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдмрд┐рдВрджреБрдпрджреНрдпрдкрд┐ рдЗрди рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЗрдирдкреБрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реЗрдХрдВрдб рдХреЗ рднрд┐рдиреНрдирд╛рддреНрдордХ рднрд╛рдЧ рдХреЛ рдкрд╛рд╕ рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ, рд▓реЗрдХрд┐рди date
рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЗрдирдкреБрдЯ рдХреЛ рджрд┐рдП рдЧрдП рд╕реНрд╡рд░реВрдкрдг рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреА рдкрдВрдХреНрддрд┐ рдореЗрдВ, рдЖрдк рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдФрд░ рдорд╛рдЗрдХреНрд░реЛрд╕реЗрдХрдВрдб рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд░реНрдг рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╕реНрд╡рд░реВрдкрдг рдХрд░рддреЗ рд╕рдордп, рд╢реВрдиреНрдп рд╣рдореЗрд╢рд╛ рдЕрдкрдиреА рдЬрдЧрд╣ рдкрд░ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдПрдВрдЧреЗред
рдПрдХ рдЙрджрд╛рд╣рд░рдг:
$now = time(); print date('Ymd H:i:s.u', $now);
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЗрд╕ рдкрджреНрдзрддрд┐ рдореЗрдВ microtime
рдФрд░ hrtime
, рдЬреЛ рдЖрдкрдХреЛ рд╡рд░реНрддрдорд╛рди рдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрдВрд╢рд┐рдХ рднрд╛рдЧ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдордп hrtime
рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рд▓реЗрдмрд▓ рдХреЛ рдкреНрд░рд╛рд░реВрдкрд┐рдд рдХрд░рдиреЗ рдФрд░ рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рд╛рд░реВрдк рдХреЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рддреИрдпрд╛рд░ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдХреЗ рдЗрд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╡рд┐рдХрд▓реНрдк рдкрд░ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ред
рдпрджрд┐ рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдЯрд╛рдЗрдорд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ HRTime рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реИ, рдЬрд┐рд╕реЗ рдореИрдВ рдЗрд╕рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рд╕реАрдорд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдирд╣реАрдВ рдорд╛рдиреВрдВрдЧрд╛ ред рдореИрдВ рдХреЗрд╡рд▓ рдпрд╣ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдЖрдкрдХреЛ рдиреИрдиреЛрд╕реЗрдХрдВрдб рдХреЗ рд▓рд┐рдП рд╕рдордп рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдФрд░ рдЯрд╛рдЗрдорд░ рдХреА рдПрдХрд░рд╕рддрд╛ рдХреА рдЧрд╛рд░рдВрдЯреА рджреЗрддрд╛ рд╣реИ, рдЬреЛ рдХреБрдЫ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдЦрддреНрдо рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЕрдиреНрдп рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рд╕рд╛рдордиреЗ рдЖ рд╕рдХрддреА рд╣реИрдВред
рдПрдХ рд╕реЗрдХрдВрдб рдХреЗ рдЖрдВрд╢рд┐рдХ рднрд╛рдЧреЛрдВ рдХреЗ рд╕рд╛рде рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдбреЗрдЯрдЯрд╛рдЗрдо рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдХреБрдЫ рдЖрд░рдХреНрд╖рдгреЛрдВ рдХреЗ рд╕рд╛рде, рдпрд╣ рдЖрдкрдХреЛ рдКрдкрд░ рд╕реВрдЪреАрдмрджреНрдз рд╕рднреА рдСрдкрд░реЗрд╢рди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:
`DateTimeImmutable :: createFromFormat` рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдЧреИрд░-рд╕реНрдкрд╖реНрдЯ рдмрд┐рдВрджреБрдкреНрд░рд╛рд░реВрдк рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдЕрдХреНрд╖рд░ u
рдХрд╛ рдЕрд░реНрде рд╣реИ рдорд╛рдЗрдХреНрд░реЛрд╕реЗрдХрдВрдб, рд▓реЗрдХрд┐рди рдпрд╣ рдХрдо рд╕рдЯреАрдХрддрд╛ рдХреЗ рдЖрдВрд╢рд┐рдХ рднрд╛рдЧреЛрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рднреА рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдПрдХ рдкреНрд░рд╛рд░реВрдк рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рд╕реЗрдХрдВрдб рдХреЗ рдЖрдВрд╢рд┐рдХ рднрд╛рдЧреЛрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рд╣реИред рдПрдХ рдЙрджрд╛рд╣рд░рдг:
$time = \DateTimeImmutable::createFromFormat('Ymd H:i:s.u', '2019-09-12 21:32:43.9085');
рдЗрд╕ рдореЙрдбреНрдпреВрд▓ рдХреА рдореБрдЦреНрдп рд╕рдорд╕реНрдпрд╛ рднрд┐рдиреНрдирд╛рддреНрдордХ рд╕реЗрдХрдВрдб рд╡рд╛рд▓реЗ рдЕрдВрддрд░рд╛рд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдЕрд╕реБрд╡рд┐рдзрд╛ (рдпрд╛ рдРрд╕реЗ рдХрд╛рдо рдХреА рдЕрд╕рдВрднрд╡рддрд╛) рд╣реИред \DateInterval
рд╣рд╛рд▓рд╛рдБрдХрд┐ рдЗрд╕рдореЗрдВ рдПрдХ рд╣реА рдЫрд╣ рджрд╢рдорд▓рд╡ рд╕реНрдерд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдЯреАрдХ рджреВрд╕рд░рд╛ рднрд╛рдЧ рдХрд╛ рдЖрдВрд╢рд┐рдХ рднрд╛рдЧ рд╣реЛрддрд╛ рд╣реИ, рдЖрдк рдХреЗрд╡рд▓ DateTime::diff
рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрд╕ рдЖрдВрд╢рд┐рдХ рднрд╛рдЧ рдХреЛ рдЖрд░рдВрдн рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред DateInterval рдХреНрд▓рд╛рд╕ рдХрд╛ рдирд┐рд░реНрдорд╛рддрд╛ рдФрд░ рдлрд╝реИрдХреНрдЯрд░реА рд╡рд┐рдзрд┐ \DateInterval::createFromDateString
рдХреЗрд╡рд▓ рдкреВрд░реЗ рд╕реЗрдХрдВрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЖрдВрд╢рд┐рдХ рднрд╛рдЧ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ:
\DateTimeImmutable::diff
рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдордп рдореЗрдВ рджреЛ рдмрд┐рдВрджреБрдУрдВ рдХреЗ рдмреАрдЪ рдХреЗ рдЕрдВрддрд░ рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╕рдордп рдПрдХ рдФрд░ рд╕рдорд╕реНрдпрд╛ рдЙрддреНрдкрдиреНрди рд╣реЛ рд╕рдХрддреА рд╣реИред PHP рдореЗрдВ 7.2.12 рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рдкрд╣рд▓реЗ, рдПрдХ рдмрдЧ рдерд╛ рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг рдПрдХ рд╕реЗрдХрдВрдб рдХреЗ рдЖрдВрд╢рд┐рдХ рднрд╛рдЧ рдЕрдиреНрдп рдЕрдВрдХреЛрдВ рд╕реЗ рдЕрд▓рдЧ рд╣реЛрддреЗ рдереЗ рдФрд░ рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рд╕рдВрдХреЗрдд рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рдереЗ:
$timeBefore = new \DateTimeImmutable('2019-09-12 21:20:19.987654'); $timeAfter = new \DateTimeImmutable('2019-09-14 12:13:14.123456'); $diff = $timeBefore->diff($timeAfter); print $diff->format('%R%a days %H:%I:%S.%F') . PHP_EOL;
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдореИрдВ рдЖрдкрдХреЛ рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рдЕрдВрддрд░рд╛рд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рд╕рд╛рд╡рдзрд╛рдиреА рдмрд░рддреЗрдВ рдФрд░ рд╕рд╛рд╡рдзрд╛рдиреАрдкреВрд░реНрд╡рдХ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд╕рд╛рде рдЗрд╕ рддрд░рд╣ рдХреЗ рдХреЛрдб рдХреЛ рдХрд╡рд░ рдХрд░реЗрдВред
рдпрд╣ рднреА рджреЗрдЦреЗрдВ:
рдкреАрдбреАрдУ рдореЗрдВ рдЙрдЪреНрдЪ рдкрд░рд┐рд╢реБрджреНрдзрддрд╛ рд╕рдордп рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВ
PDO рдФрд░ mysqli PHP рдХреЛрдб рд╕реЗ MySQL рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдХреНрд╡реЗрд░реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛ рдореБрдЦреНрдп рдЗрдВрдЯрд░рдлреЗрд╕ рд╣реИрдВред рд╕рдордп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рддрдЪреАрдд рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ, рд╡реЗ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рдорд╛рди рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдХреЗрд╡рд▓ рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛ - рдкреАрдбреАрдУред
рдкреАрдбреАрдУ рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп, рджреЛ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рд╕рдордп рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ:
- рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдкрд╛рд░рд┐рдд;
- рдПрдХ рдорд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛ рд╕реЗрд▓реЗрдХреНрдЯреЗрдб рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рдЬрд╡рд╛рдм рдореЗрдВ рдЖрддрд╛ рд╣реИред
рдЕрдиреБрд░реЛрдз рдХреЛ рдкреИрд░рд╛рдореАрдЯрд░ рдкрд╛рд╕ рдХрд░рддреЗ рд╕рдордп рдкреНрд▓реЗрд╕рд╣реЛрд▓реНрдбрд░реНрд╕ рдХреЛ рдкрд╛рд╕ рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИред рдкреНрд▓реЗрд╕рд╣реЛрд▓реНрдбрд░ рдорд╛рдиреЛрдВ рдХреЛ рдмрд╣реБрдд рдЫреЛрдЯреЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕реЗрдЯ рд╕реЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ: рдмреВрд▓рд┐рдпрди рдорд╛рди, рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдФрд░ рдкреВрд░реНрдгрд╛рдВрдХред рджрд┐рдирд╛рдВрдХ рдФрд░ рд╕рдордп рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЙрдкрдпреБрдХреНрдд рдкреНрд░рдХрд╛рд░ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ DateTime / DateTimeImmutable рд╡рд░реНрдЧ рдХреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдХрдирд╡рд░реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
$now = new \DateTimeImmutable(); $db = new \PDO('mysql:...', 'user', 'password', [\PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION]); $stmt = $db->prepare('INSERT INTO Test.ChatContactsList (title, last_message_send_time) VALUES (:title, :date)'); $result = $stmt->execute([':title' => "Test #1", ':date' => $now->format('Ymd H:i:s.u')]);
рдЗрд╕ рддрд░рд╣ рдХреЗ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рд░ рдмрд╛рд░ рдЖрдкрдХреЛ рдкреНрд░реЗрд╖рд┐рдд рдореВрд▓реНрдп рдХреЛ рдкреНрд░рд╛рд░реВрдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрд╕рд▓рд┐рдП, рдмрд░реНрде рдХреЛрдб рдмреЗрд╕ рдореЗрдВ, рд╣рдордиреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд░реИрдкрд░ рдореЗрдВ рдЯрд╛рдЗрдк рдХрд┐рдП рдЧрдП рдкреНрд▓реЗрд╕рд╣реЛрд▓реНрдбрд░реНрд╕ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ред рддрд┐рдерд┐рдпреЛрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЖрдкрдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕реНрд╡рд░реВрдкреЛрдВ рдореЗрдВ рдПрдХ рдореВрд▓реНрдп (рдПрдХ рдРрд╕реА рд╡рд╕реНрддреБ рдЬреЛ рдХрд┐ DateTimeInterface, рдПрдХ рд╕реНрд╡рд░реВрдкрд┐рдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рдпрд╛ рдПрдХ рд╕рдордп рдЯрд┐рдХрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдВрдЦреНрдпрд╛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ) рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдФрд░ рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдореВрд▓реНрдпреЛрдВ рдХреА рд╢реБрджреНрдзрддрд╛ рдХреЗ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдкрд░рд┐рд╡рд░реНрддрди рдФрд░ рдЬрд╛рдВрдЪ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрдВрджрд░ рдХреА рдЬрд╛рддреА рд╣реИред рдПрдХ рдмреЛрдирд╕ рдХреЗ рд░реВрдк рдореЗрдВ, рдПрдХ рдЧрд▓рдд рдорд╛рди рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХрд░рддреЗ рд╕рдордп, рд╣рдо рддреБрд░рдВрдд рддреНрд░реБрдЯрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реАрдЦрддреЗ рд╣реИрдВ, рдФрд░ рдХреНрд╡реЗрд░реА рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╕рдордп MySQL рд╕реЗ рддреНрд░реБрдЯрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдирд╣реАрдВред
рдХреНрд╡реЗрд░реА рдкрд░рд┐рдгрд╛рдореЛрдВ рд╕реЗ рдбреЗрдЯрд╛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдмрд╣реБрдд рд╕рд░рд▓ рд▓рдЧрддрд╛ рд╣реИред рдЗрд╕ рдСрдкрд░реЗрд╢рди рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╕рдордп, рдкреАрдбреАрдУ рдбреЗрдЯрд╛ рдХреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд╛рдкрд╕ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдХреЛрдб рдореЗрдВ рд╣рдореЗрдВ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдЖрдЧреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдпрджрд┐ рд╣рдо рд╕рдордп рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ (рдФрд░ рдпрд╣рд╛рдВ рд╣рдореЗрдВ рд╕реНрд╡рд░реВрдкрд┐рдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реЗ рд╕рдордп рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬреЛ рдкрд┐рдЫрд▓реЗ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдмрд╛рдд рдХреА рдереА)ред
$stmt = $db->prepare('SELECT * FROM Test.ChatContactsList ORDER BY last_message_send_time DESC, chat_id DESC LIMIT 5'); $stmt->execute(); while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { $row['last_message_send_time'] = is_null($row['last_message_send_time']) ? null : new \DateTimeImmutable($row['last_message_send_time']);
рдЯрд┐рдкреНрдкрдгреА
рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдкреАрдбреАрдУ рдбреЗрдЯрд╛ рдХреЛ рддрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реМрдЯрд╛рддрд╛ рд╣реИ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдЪ рдирд╣реАрдВ рд╣реИред рдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╕рдордп, PDOStatement::bindColumn
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрддрдВрдн рдХреЗ рд▓рд┐рдП рдорд╛рди рдкреНрд░рдХрд╛рд░ рд╕реЗрдЯ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред рдореИрдВрдиреЗ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдирд╣реАрдВ рдХреА рдХреНрдпреЛрдВрдХрд┐ рд╡рд╣рд╛рдБ рдЙрд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╕реАрдорд┐рдд рд╕реЗрдЯ рд╣реИ рдЬреЛ рддрд╛рд░реАрдЦреЛрдВ рдХреЗ рд╕рд╛рде рдорджрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рд╣реЛрдирд╛ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИред рд╕рдВрд╕реНрдХрд░рдг 7.3 рд╕реЗ рдкрд╣рд▓реЗ PHP рдореЗрдВ, рдПрдХ рдмрдЧ рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг PDO, рдЬрдм PDO::ATTR_EMULATE_PREPARES
рд╡рд┐рд╢реЗрд╖рддрд╛ PDO::ATTR_EMULATE_PREPARES
рддреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдиреЗ рдкрд░ рджреВрд╕рд░реЗ рдХреЗ рднрд┐рдиреНрдирд╛рддреНрдордХ рднрд╛рдЧ рдХреЛ "рдХрд╛рдЯ" рджреЗрддрд╛ рд╣реИред рд╡рд┐рд╡рд░рдг рдФрд░ рдПрдХ рдЙрджрд╛рд╣рд░рдг php.net рдкрд░ рдмрдЧ рд╡рд┐рд╡рд░рдг рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред PHP 7.3 рдореЗрдВ, рдпрд╣ рддреНрд░реБрдЯрд┐ рдареАрдХ рдХреА рдЧрдИ рдФрд░ рдЪреЗрддрд╛рд╡рдиреА рджреА рдЧрдИ рдХрд┐ рдпрд╣ рдкрд░рд┐рд╡рд░реНрддрди рдкрд┐рдЫрдбрд╝реЗ рд╕рдВрдЧрддрддрд╛ рдХреЛ рддреЛрдбрд╝рддрд╛ рд╣реИ ред
рдпрджрд┐ рдЖрдк PHP рд╕рдВрд╕реНрдХрд░рдг 7.2 рдпрд╛ рдкреБрд░рд╛рдиреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реИрдВ рдпрд╛ PDO::ATTR_EMULATE_PREPARES
рд╕рдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕ рдмрдЧ рдХреЗ рдЖрд╕-рдкрд╛рд╕ SQL тАЛтАЛрдХреНрд╡реЗрд░реАрдЬрд╝ рдХреЛ рдареАрдХ рдХрд░рдХреЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рд╕рдордп рдХреЛ рдПрдХ рднрд┐рдиреНрдирд╛рддреНрдордХ рднрд╛рдЧ рдХреЗ рд╕рд╛рде рд▓реМрдЯрд╛рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рд╕реНрддрдВрдн рдореЗрдВ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рдХрд╛рд░ рд╣реЛред рдпрд╣ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рддрд░рд╣:
SELECT *, CAST(last_message_send_time AS CHAR) AS last_message_send_time_fixed FROM ChatContactsList ORDER BY last_message_send_time DESC LIMIT 1;
mysqli
рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рднреА рд╕рд╛рдордирд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: рдпрджрд┐ рдЖрдк mysqli::prepare
рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рдкреНрд░рд╢реНрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ mysqli::prepare
, рддреЛ PHP рдореЗрдВ рд╕рдВрд╕реНрдХрд░рдг 7.3 рд╕реЗ рдкрд╣рд▓реЗ, рдПрдХ рд╕реЗрдХрдВрдб рдХреЗ рдЖрдВрд╢рд┐рдХ рднрд╛рдЧ рдХреЛ рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдкреАрдбреАрдУ рдХреЗ рд╕рд╛рде рдХреЗ рд░реВрдк рдореЗрдВ, рдЖрдк рдЗрд╕реЗ PHP рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдХреЗ, рдпрд╛ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рдордп рд░реВрдкрд╛рдВрддрд░рдг рдХреЛ рджрд░рдХрд┐рдирд╛рд░ рдХрд░рдХреЗ рдареАрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдпрд╣ рднреА рджреЗрдЦреЗрдВ:
рд╡рд╛рдИ 2 рдореЗрдВ рдЙрдЪреНрдЪ рдкрд░рд┐рд╢реБрджреНрдзрддрд╛ рд╕рдордп рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВ
рдЕрдзрд┐рдХрд╛рдВрд╢ рдЖрдзреБрдирд┐рдХ рдлреНрд░реЗрдорд╡рд░реНрдХ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реНрдХреАрдорд╛ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдЗрддрд┐рд╣рд╛рд╕ рдХреЛ рдХреЛрдб рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдФрд░ рдЗрд╕реЗ рд▓рдЧрд╛рддрд╛рд░ рдмрджрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрдЪреНрдЪ рдкрд░рд┐рд╢реБрджреНрдзрддрд╛ рд╕рдордп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЗ рдврд╛рдВрдЪреЗ рдХреЛ рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдпрд╣ рд╕рднреА рдкреНрд░рдореБрдЦ рд░реВрдкрд░реЗрдЦрд╛рдУрдВ рдореЗрдВ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдЗрд╕ рдЦрдВрдб рдореЗрдВ, рдореИрдВ рджрд┐рдЦрд╛рдКрдВрдЧрд╛ рдХрд┐ рдпрд╣ рд╕рдорд░реНрдерди рд╡рд╛рдИрдЖрдИрдИ рдореЗрдВ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдореИрдВрдиреЗ рд╕рдВрд╕реНрдХрд░рдг 2.0.26 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ)ред рд▓рд╛рд░рд╡реЗрд▓, рд╕рд┐рдореНрдлрдиреА рдФрд░ рдЕрдиреНрдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рдореИрдВ рд▓реЗрдЦ рдХреЛ рдЕрдВрддрд╣реАрди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рд▓рд┐рдЦреВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЦреБрд╢реА рд╣реЛрдЧреА рдЕрдЧрд░ рдЖрдк рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдпрд╛ рдирдП рд▓реЗрдЦреЛрдВ рдореЗрдВ рд╡рд┐рд╡рд░рдг рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред
рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдореЗрдВ, рд╣рдо рдХреЛрдб рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдЬреЛ рдбреЗрдЯрд╛ рд╕реНрдХреАрдорд╛ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред рдПрдХ рдирдИ рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛рддреЗ рд╕рдордп, рд╣рдо \ yii \ db \ рдкреНрд░рд╡рд╛рд╕рди рд╡рд░реНрдЧ рд╕реЗ рд╡рд┐рд╢реЗрд╖ рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдЙрд╕рдХреЗ рд╕рднреА рд╕реНрддрдВрднреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВ (рд╡реЗ рд╕реНрдХреАрдорд╛рдмрд░реНрд╕реНрдЯрдЯреНрд░реЗрдЯ рдЯреНрд░реЗ рдореЗрдВ рдШреЛрд╖рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ)ред time
, timestamp
рдФрд░ datetime
рд╡рд┐рдзрд┐рдпрд╛рдБ рдЬреЛ рд╕рдЯреАрдХрддрд╛ рдХрд╛ рдЗрдирдкреБрдЯ рдорд╛рди рд▓реЗ рд╕рдХрддреА рд╣реИрдВ, рддрд┐рдерд┐ рдФрд░ рд╕рдордп рд╡рд╛рд▓реЗ рдХреЙрд▓рдо рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИрдВред
рдкреНрд░рд╡рд╛рд╕ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдирдпрд╛ рдЯреЗрдмрд▓ рдПрдХ рдЙрдЪреНрдЪ рдкрд░рд┐рд╢реБрджреНрдзрддрд╛ рд╕рдордп рд╕реНрддрдВрдн рдХреЗ рд╕рд╛рде рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:
use yii\db\Migration; class m190914_141123_create_news_table extends Migration { public function up() { $this->createTable('news', [ 'id' => $this->primaryKey(), 'title' => $this->string()->notNull(), 'content' => $this->text(), 'published' => $this->timestamp(6),
рдФрд░ рдпрд╣ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдореМрдЬреВрджрд╛ рдХреЙрд▓рдо рдореЗрдВ рд╕рдЯреАрдХрддрд╛ рдмрджрд▓ рдЬрд╛рддреА рд╣реИ:
class m190916_045702_change_news_time_precision extends Migration { public function up() { $this->alterColumn( 'news', 'published', $this->timestamp(6) ); return true; } public function down() { $this->alterColumn( 'news', 'published', $this->timestamp(3) ); return true; } }
ActiveRecord - : , DateTime-. , тАФ ┬л┬╗ PDO::ATTR_EMULATE_PREPARES
. Yii , . , , PDO.
. :
рдирд┐рд╖реНрдХрд░реНрд╖
, , тАФ , . , , . , !