Go to the first, previous, next, last section, table of contents.


ÌäÂê¤È¤è¤¯¤¢¤ë¥¨¥é¡¼

MySQL »ÈÍÑ»þ¤Î¤è¤¯¤¢¤ë¤¤¤¯¤Ä¤«¤Î¥¨¥é¡¼

MySQL server has gone away ¥¨¥é¡¼

MySQL server has gone away ¥¨¥é¡¼¤Î¤â¤Ã¤È¤â°ìÈÌŪ¤ÊÍýͳ¤Ï¡¢¥µ¡¼¥Ð ¤¬¥¿¥¤¥à¥¢¥¦¥È¤ÇÀܳ¤ò¥¯¥í¡¼¥º¤·¤¿¤³¤È¤Ç¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢²¿¤âµ¯¤­¤Ê¤¤ ¾ì¹ç¡¢¥µ¡¼¥Ð¤Ï 8 »þ´Ö¸å¤ËÀܳ¤ò¥¯¥í¡¼¥º¤·¤Þ¤¹¡£

¥¹¥¯¥ê¥×¥È¤Î¾ì¹ç¤Ï¡¢¼«Æ°Åª¤ËºÆÀܳ¤¹¤ë¤¿¤á¤Ë¥¯¥é¥¤¥¢¥ó¥È¤«¤é¥¯¥¨¥ê¤òºÆÈ¯ ¹Ô¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£

¤³¤Î¾ì¹ç¡¢Ä̾盧¤ì¤é¤Î¥¨¥é¡¼¥³¡¼¥É¤òÆÀ¤Þ¤¹: (OS °Í¸¤Ç¤¹)

CR_SERVER_GONE_ERROR ¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼¥Ð¤Ë¼ÁÌä¤òÁ÷¿®¤Ç¤­¤Ê¤«¤Ã¤¿¡£
CR_SERVER_LOST ¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼¥Ð¤Ë½ñ¤­¹þ¤à»þ¤Ë¤Ï¥¨¥é¡¼¤ÏȯÀ¸¤·¤Ê¤«¤Ã¤¿¤¬¡¢¼ÁÌä¤ËÂФ¹¤ë´°Á´¤ÊÅú¤¨(¤Þ¤¿¤Ï²¿¤é¤«¤ÎÅú¤¨)¤¬ÆÀ¤é¤ì¤Ê¤«¤Ã¤¿¡£
´Ö°ã¤Ã¤Æ¤¤¤ë¤«Â礭¤¹¤®¤ë¥¯¥¨¥ê¤ò¥µ¡¼¥Ð¤ËÁ÷¤Ã¤¿¾ì¹ç¤Ë¤â¤³¤Î¥¨¥é¡¼¤¬È¯À¸¤· ¤Þ¤¹¡£mysqld ¤¬´Ö°ã¤Ã¤¿¥Ö¥í¥Ã¥¯¤òÆÀ¤¿¾ì¹ç¡¢¥¯¥é¥¤¥¢¥ó¥È¤Î²¿¤«¤¬´Ö°ã¤Ã¤¿ ¤È¸«¤Ê¤·¡¢Àܳ¤ò¥¯¥í¡¼¥º¤·¤Þ¤¹¡£Â礭¤Ê¥¯¥¨¥ê¤¬É¬Íפʾì¹ç¡¢Î㤨¤ÐÂ礭¤Ê blob ¤ÇƯ¤«¤»¤ë¾ì¹ç¤Ï¡¢mysqld ¤ò¥ª¥×¥·¥ç¥ó -O max_query_size=# (¥Ç¥Õ¥©¥ë¥È 65536) ¤Çµ¯Æ°¤¹¤ë¤³¤È¤Ç¥¯¥¨¥êÀ©¸Â¤òÁý²Ã¤Ç¤­¤Þ¤¹¡£³ÈÄ¥¥á¥â¥ê ¤ÏÍ×µá¤Ë¤è¤Ã¤Æ³ä¤êÅö¤Æ¤é¤ì¤Þ¤¹¡£¤½¤Î¤¿¤á¡¢mysqld ¤ÏÂ礭¤Ê¥¯¥¨¥ê¤òȯ¹Ô¤· ¤¿»þ¤äÂ礭¤Ê·ë²Ì¹Ô¤òÊÖ¤¹É¬ÍפΤ¢¤ë»þ¤À¤±¡¢Â¿¤¯¤Î¥á¥â¥ê¤ò»ÈÍѤ·¤Þ¤¹¡ª

Can't connect to local MySQL server ¥¨¥é¡¼

MySQL ¥¯¥é¥¤¥¢¥ó¥È¤Ï mysqld ¥µ¡¼¥Ð¤Ë2¤Ä¤Î°Û¤Ê¤ëÊýË¡¤ÇÀܳ¤Ç¤­¤Þ ¤¹: Unix ¥½¥±¥Ã¥È, ¤³¤ì¤Ï¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¾å¤Î¥Õ¥¡¥¤¥ë(¥Ç¥Õ¥©¥ë¥È `/tmp/mysql.sock')¤òÄ̤·¤ÆÀܳ¤·¤Þ¤¹¡£¤Þ¤¿¤Ï TCP/IP, ¤³¤ì¤Ï¥Ý¡¼¥ÈÈÖ ¹æ¤òÄ̤·¤ÆÀܳ¤·¤Þ¤¹¡£Unix ¥½¥±¥Ã¥È¤Ï TCP/IP ¤è¤ê¤â®¤¤¤Ç¤¹¤¬¡¢¥µ¡¼¥Ð¤È Ʊ¤¸¥³¥ó¥Ô¥å¡¼¥¿¤«¤éÀܳ¤¹¤ë»þ¤·¤«»È¤¨¤Þ¤»¤ó¡£Unix ¥½¥±¥Ã¥È¤Ï¡¢¥Û¥¹¥È̾ ¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¤«¡¢ÆÃÊ̤ʥۥ¹¥È̾ 'localhost' ¤ò»ØÄꤷ¤¿¾ì¹ç¤Ë»ÈÍѤµ¤ì ¤Þ¤¹¡£

¼¡¤Ë¥¨¥é¡¼¤Î¤¤¤¯¤Ä¤«¤ÎÍýͳ¤òµó¤²¤Þ¤¹ Can't connect to local MySQL server¡£

Out of memory ¥¨¥é¡¼

¥¯¥¨¥ê¤ò¹Ô¤Ã¤Æ¡¢¼¡¤Î¥¨¥é¡¼¤Î¤è¤¦¤Ê¤â¤Î¤òÆÀ¤¿¾ì¹ç:

mysql: Out of memory at line 42, 'malloc.c'
mysql: neaded 8136 byte (8k), memory in use: 12481367 bytes (12189k))
ERROR 2008: MySQL client got out of memory                

¥¨¥é¡¼¤Ï MySQL ¥¯¥é¥¤¥¢¥ó¥È¤Ë´Ø·¸¤¹¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£¥¨ ¥é¡¼¤ÎÍýͳ¤Ïñ½ã¤Ç¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬·ë²ÌÁ´ÂΤò³ÊǼ¤¹¤ë¤Î¤Ë½½Ê¬¤Ê¥á¥â¥ê¤ò»ý¤Ã ¤Æ¤¤¤Ê¤¤¤³¤È¤Ç¤¹¡£

Packet too large

¥¯¥é¥¤¥¢¥ó¥È¤¬ net_buffer_length ¤è¤ê¤âÂ礭¤Ê¥Ö¥í¥Ã¥¯¤òÆÀ¤¿»þ¡¢ Packet too large ¥¨¥é¡¼¤òȯ¤·¤Þ¤¹¡£

mysql ¥¯¥é¥¤¥¢¥ó¥È¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢mysql --set-variable=net_buffer_length=1m ¤Ç¥¯¥é¥¤¥¢¥ó¥È¤ò³«»Ï¤¹¤ë¤³¤È¤Ç¡¢¥Ð¥Ã ¥Õ¥¡¤òÂ礭¤¯ÀßÄê¤Ç¤­¤Þ¤¹¡£

The table is full

¤³¤Î¥¨¥é¡¼¤Ï¥á¥â¥êÆâ°ì»þ¥Æ¡¼¥Ö¥ë¤¬ tmp_table_size ¤è¤ê¤âÂ礭¤¯¤Ê¤Ã ¤¿»þ¤ËȯÀ¸¤·¤Þ¤¹¡£¤³¤ÎÌäÂê¤ò²óÈò¤¹¤ë¤¿¤á¤Ë¡¢mysqld ¤Î¥ª¥×¥·¥ç¥ó -O tmp_table_size=# ¤ÇÁý²Ã¡¢¤Þ¤¿¤Ï¡¢SQL ¥ª¥×¥·¥ç¥ó SQL_BIG_TABLES ¤òÌäÂê¤Î¥¯¥¨¥ê¤ÎÁ°¤Ë»ÈÍѤǤ­¤Þ¤¹¡£ ¡ÖSET OPTION ¹½Ê¸¡×ÀỲ¾È ¡£

One can also start mysqld with the option: --big-tables. This is exactly the same as using SQL_BIG_TABLES for all queries.

Commands out of sync in client

Commands out of sync; You can't run this command now ¤ò¥¯¥é¥¤¥¢¥ó ¥È¥³¡¼¥ÉÃæ¤ÇÆÀ¤¿¾ì¹ç¡¢¥¯¥é¥¤¥¢¥ó¥È´Ø¿ô¤ò´Ö°ã¤Ã¤¿½çÈ֤ǸƤӽФ·¤Þ¤·¤¿¡ª

¤³¤ì¤ÏÎ㤨¤Ð¡¢'mysql_use_result()' ¤ò»ÈÍѤ·¤Æ¤¤¤Æ¡¢'mysql_free_result()' ¤ò¹Ô¤¦Á°¤Ë¿·¤·¤¤¥¯¥¨¥ê¤Î¼Â¹Ô¤ò»î¤ß¤¿¾ì¹ç¤ËȯÀ¸¤·¤Þ¤¹¡£¤³¤ì¤Ï¤Þ¤¿¡¢¥Ç¡¼¥¿ ¤òÊÖ¤¹£²¤Ä¤Î¥¯¥¨¥ê¤Î¼Â¹Ô¤ò¡¢´Ö¤Ë mysql_use_result() ¤ä mysql_store_result() ̵¤·¤Ç»î¤ß¤¿¾ì¹ç¤Ë¤âȯÀ¸¤·¤Þ¤¹¡£

MySQL ¤Ï¥Õ¥ë¥Ç¥£¥¹¥¯¤ò¤É¤Î¤è¤¦¤Ë°·¤¦¤«¡©

¥Ç¥£¥¹¥¯¥Õ¥ë¾ò·ï¤Ç¤Ï MySQL ¤Ï¼¡¤Î¤³¤È¤ò¹Ô¤¤¤Þ¤¹:

MySQL ¤¬°ì»þ¥Õ¥¡¥¤¥ë¤ò³ÊǼ¤¹¤ë¾ì½ê

MySQL ¤Ï°ì»þ¥Õ¥¡¥¤¥ë¤ò³ÊǼ¤¹¤ë¾ì½ê¤È¤·¤Æ TMPDIR ´Ä¶­ÊÑ¿ô¤ÎÃͤò »ÈÍѤ·¤Þ¤¹¡£TMPDIR ¤òÀßÄꤷ¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢MySQL ¤Ï¥·¥¹¥Æ¥à¤Î¥Ç¥Õ¥© ¥ë¥È¤ò»ÈÍѤ·¤Þ¤¹¡£Ä̾ï¤Ï /tmp ¤Þ¤¿¤Ï /usr/tmp ¤Ç¤¹¡£TMPDIR ¤¬¾®¤µ ¤¹¤®¤ë¾ì¹ç¡¢safe_mysqld ¤òÊÔ½¸¤·¤Æ¡¢½½Ê¬¤ÊÎΰ褬¤¢¤ë¾¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ò»Ø ¤¹¤è¤¦¤Ë TMPDIR ¤òÀßÄꤹ¤Ù¤­¤Ç¤¹¡ª

MySQL ¤ÏÁ´¤Æ¤Î°ì»þ¥Õ¥¡¥¤¥ë¤ò '±£¤·¥Õ¥¡¥¤¥ë' ¤È¤·¤ÆÀ¸À®¤·¤Þ¤¹¡£ ¤³¤ì¤Ï mysqld ¤¬½ªÎ»¤·¤¿¾ì¹ç¤Ë¡¢°ì»þ¥Õ¥¡¥¤¥ë¤¬ºï½ü¤µ¤ì¤Ê¤¤¤³¤È¤ò³Î¼Â¤Ë¤· ¤Þ¤¹¡£±£¤·¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ¹¤ë '°­¤¤' ¦Ì̤ϡ¢¾®¤µ¤¹¤®¤ë°ì»þ¥Ç¥£¥¹¥¯¤ò°ìÇÕ ¤Ë¤¹¤ëÂ礭¤Ê°ì»þ¥Õ¥¡¥¤¥ë¤ò¸«¤Ä¤±¤é¤ì¤Ê¤¤¤³¤È¤Ç¤¹¡£

¥½¡¼¥È»þ (ORDER BY ¤Þ¤¿¤Ï GROUP BY)¡¢MySQL ¤ÏÄ̾ï°ì¤Ä¤Þ¤¿¤ÏÆó¤Ä ¤Î°ì»þ¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ·¤Þ¤¹¡£É¬ÍפʺÇÂç¤Î¥Ç¥£¥¹¥¯ÍÆÎÌ¤Ï (length_of_what_is_sorted + sizeof(database_pointer)) * number_of_matched_rows * 2 ¤Ç¤¹¡£ sizeof(database_pointer) ¤ÏÄ̾¤Ç¤¹¤¬¡¢¾­ÍèËÜÅö¤ËÂ礭¤Ê¥Æ¡¼¥Ö¥ë ¤Î¤¿¤á¤ËÂ礭¤¯¤Ê¤ë¤³¤È¤â¤¢¤ê¤Þ¤¹¡£

¤¤¤¯¤Ä¤«¤Î SELECT ¥¯¥¨¥ê¤Ï°ì»þŪ¤Ê SQL ¥Æ¡¼¥Ö¥ë¤âÀ¸À®¤·¤Þ¤¹¡£¤³¤ì¤é¤Ï±£ ¤·¥Õ¥¡¥¤¥ë¤Ç¤Ï¤Ê¤¯¡¢SQL_ ¤Ç»Ï¤Þ¤ë̾Á°¤Ç¤¹¡£

ALTER TABLE ¤Ï°ì»þ¥Æ¡¼¥Ö¥ë¤ò¥ª¥ê¥¸¥Ê¥ë¥Æ¡¼¥Ö¥ë¤ÈƱ¤¸¥Ç¥£¥ì¥¯¥È¥ê Æâ¤ËÀ¸À®¤·¤Þ¤¹¡£

Access denied? ¥¨¥é¡¼

¡ÖÆÃ¸¢¥·¥¹¥Æ¥à¤¬¤É¤Î¤è¤¦¤ËƯ¤¯¤«¡©¡×ÀỲ¾È ¡£¤½¤·¤ÆÆÃ¤Ë ¡Ö²¿¸Î Access denied ¥¨¥é¡¼¤Ë¤Ê¤ë¤Î¤«¡©¡×ÀỲ¾È ¡£

°ìÈ̥桼¥¶¤Ç MySQL ¤òư¤«¤¹ÊýË¡

mysqld (MySQL ¥µ¡¼¥Ð) ¤Ïï¤Ç¤â³«»Ï¤·¼Â¹Ô¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ mysqld ¤ò¥æ¡¼¥¶ USER ¤Ç¼Â¹Ô¤¹¤ë¤è¤¦¤ËÊѹ¹¤¹¤ë¤¿¤á¤Ë¤Ï¡¢¼¡¤ò¹Ô¤Ê¤¦É¬Íפ¬ ¤¢¤ê¤Þ¤¹:

root ¤Ç safe_mysqld ¤ò¼Â¹Ô¤µ¤»¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Ë¹Ô¤Ê¤¦¤³¤È¤Ï²¿¤â¤¢¤ê¤Þ ¤»¤ó¡£

¤³¤Î»þÅÀ¤Ç¡¢¤¢¤Ê¤¿¤Î mysqld ¥×¥í¥»¥¹¤Ï¥æ¡¼¥¶ 'USER' ¤ÇÀµ¾ï¤Ëưºî¤·¤Þ¤¹¡£ °ì¤Ä¤Î¤³¤È¤ÏÊѤï¤ê¤Þ¤»¤ó¡£¤½¤ì¤Ï¥¢¥¯¥»¥¹¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤Ç¤¹¡£¥Ç¥Õ¥©¥ë¥È (¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¥Æ¡¼¥Ö¥ë¥¤¥ó¥¹¥È¡¼¥ë¥¹¥¯¥ê¥×¥È¼Â¹Ô¸å¤Î¸¢¸Â) ¤Ç¤Ï¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹ ¤Î¥¢¥¯¥»¥¹¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤Ï¥æ¡¼¥¶ 'root' ¤À¤±¤Ç¤¹¡£¤³¤ì¤òÊѹ¹¤·¤Ê¤¤¤È¡¢¤½ ¤ì¤Ï¤½¤Î¤Þ¤Þ¤Ç¤¹¡£root °Ê³°¤Î¥æ¡¼¥¶¤Ç¥í¥°¥¤¥ó¤·¤Æ¤¤¤ë»þ¤Ç¤â¡¢¤¢¤Ê¤¿¤Ï MySQL ¤Î¥¢¥¯¥»¥¹¤Ï²Äǽ¤Ç¤¹ - ¤¿¤À¥×¥í¥°¥é¥à¤Ë -u root ¤òµ­½Ò¤¹ ¤ë¤À¤±¤Ç¤¹¡£¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç -u root ¤ò»ÈÍѤ¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢root ¤Ç MySQL ¤Ë¥¢¥¯¥»¥¹¤·¤Æ¤â¡¢root ¤È¤·¤Æ¡¢¥æ¡¼¥¶¤È¤·¤Æ¤Þ¤¿¤Ï¾¤Îï²½ ¤È¤·¤Æµ¯Æ°¤·¤Æ¤¤¤ë MySQL ¤Ç¹Ô¤Ê¤¦¤³¤È¤Ï²¿¤â¤Ê¤¤¤È¤¤¤¦¤³¤È¤ËÃí°Õ ¤·¤Æ¤¯¤À¤µ¤¤¡£MySQL ¤Î¥¢¥¯¥»¥¹¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤È¥æ¡¼¥¶¥Ù¡¼¥¹¤Ï¡¢ UNIX ¥æ¡¼¥¶¤È¤Ï´°Á´¤ËÊ̤Τâ¤Î¤Ç¤¹¡£UNIX ¥æ¡¼¥¶¤Ë´Ø·¸¤¹¤ë¤Î¤Ï¡¢¥¯¥é¥¤¥¢¥ó ¥È¤Ë -u ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Ê¤¤¾ì¹ç¤À¤±¤Ç¤¹¡£¤³¤Î¾ì¹ç¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ï MySQL ¤Ø¤Î¥í¥°¥¤¥ó¤ò¡¢¤¢¤Ê¤¿¤Î UNIX ¥í¥°¥¤¥ó̾¤Ç»î¤ß¤Þ¤¹¡£¤¢¤Ê ¤¿¤Î UNIX ¥Þ¥·¥ó¤½¤ì¼«¿È¤¬°ÂÁ´¤Ç¤Ê¤¤¾ì¹ç¤Ï¡¢¾¯¤Ê¤¯¤È¤â MySQL ¥¢ ¥¯¥»¥¹¥Æ¡¼¥Ö¥ë¤Î root ¥æ¡¼¥¶¤Ë¤Ï¥Ñ¥¹¥ï¡¼¥É¤òÀßÄꤹ¤Ù¤­¤Ç¤¹¡£¤É¤³¤«¤Î狼¤¬ 'mysql -u root dbname' ¤ò¹Ô¤Ê¤¤¡¢Èब˾¤à¤³¤È¤ÎÁ´¤Æ¤ò¼Â¹Ô¤Ç¤­¤Æ¤·¤Þ¤¦¤«¤é¤Ç¤¹¡£

¥Õ¥¡¥¤¥ë¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤ÎÌäÂê

¥Õ¥¡¥¤¥ë¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤ÎÌäÂ꤬¤¢¤ë¾ì¹ç¡¢Î㤨¤Ð¡¢¥Æ¡¼¥Ö¥ë¤ÎÀ¸À®»þ¤Ë mysql ¤¬¼¡ ¤ò½ÐÎϤ¹¤ë¾ì¹ç: "ERROR: Can't find file: 'path/with/filename.frm' (Errcode: 13)", ´Ä¶­ÊÑ¿ô UMASK ¤¬´Ö°ã¤Ã¤¿Ãͤò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£ ¥Ç¥Õ¥©¥ë¥È umask ¤Ï 0664 ¤Ç¤¹¡£¼¡¤Î¤è¤¦¤Ë½¤Àµ¤·¤Æ¤¯¤À¤µ¤¤:

UMASK=432
export UMASK
./bin/safe_mysqld

File not found

ERROR '...' not found (Errcode: 23) ¤Þ¤¿¤Ï¤Ê¤ó¤é¤«¤Î¾¤Î errcode 23 ¤Î¥¨¥é¡¼¤ò MySQL ¤«¤éÆÀ¤¿¾ì¹ç¡¢¤³¤ì¤Ï MySQL ¤Ë½½Ê¬¤Ê¥Õ¥¡¥¤¥ëµ­½Ò»Ò¤¬³ä¤êÅö¤Æ¤é¤ì¤Ê¤«¤Ã¤¿¤³¤È¤ò°ÕÌ£¤· ¤Þ¤¹¡£perror # ¤Ï¤µ¤é¤ËÆÉ¤ß¤ä¤¹¤¤·Á¼°¤Î¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤òÍ¿¤¨¤Þ¤¹¡£

`safe_mysqld' Æâ¤Ë¥³¥á¥ó¥È¤µ¤ì¤¿¹Ô ulimit -n 256 ¤¬¤¢¤ê¤Þ¤¹¡£ ¤â¤Á¤í¤ó¡¢¤³¤Î¥³¥á¥ó¥È¤Ïºï½ü¤Ç¤­¡¢Ë¾¤à¤Ê¤éÃͤòÁý²Ã¤Þ¤¿¤Ï¸º¾¯¤µ¤»¤ë¤³¤È¤¬ ¤Ç¤­¤Þ¤¹¡£¥Æ¡¼¥Ö¥ë¥­¥ã¥Ã¥·¥å¤ò¤è¤ê¾®¤µ¤¯¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹: safe_mysqld -O table_cache=32 (¥Ç¥Õ¥©¥ë¥È¤Ï 64)¡£

DATE ¹àÌܤλÈÍѤÎÌäÂê

ÆüÉդηÁ¼°¤Ï 'YYYY-MM-DD' ¤Ç¤¹¡£ANSI SQL ¤Ë½¾¤Ã¤Æ¼ÂºÝ¤Ë¤Ï¾¤Î¤Ïµö¤µ¤ì¤Þ ¤»¤ó¡£¹¹¿·¤Þ¤¿¤Ï WHERE ÀáÆâ¤Ç¤Ï¤³¤Î·Á¼°¤ò»ÈÍѤ¹¤Ù¤­¤Ç¤¹¡£¤¹¤Ê¤ï¤Á: select * from table_1 where date >= '1997-05-05';

ÍøÊØ¤Î¤¿¤á¡¢MySQL ¤Ï¿ôÃͤÎʸ̮¤Ç»ÈÍѤµ¤ì¤ë¤È¡¢ÆüÉÕ¤ò¼«Æ°Åª¤Ë¿ô ÃͤËÊÑ´¹¤·¤Þ¤¹¡£¤³¤ì¤Ï¹¹¿·¤È TIMESTAMP, DATE ¤Þ¤¿¤Ï DATETIME ¹àÌܤǤΠWHERE »þ¤Ë¡¢'¤æ¤ë¤ä¤«¤Ê' ʸ»úÎó¤Î·Á¼°¤òµö ¤¹¤¿¤á¤Ë½½Ê¬¥¹¥Þ¡¼¥È¤Ç¤¹¡£

ÆÃÊÌ¤ÊÆüÉÕ '0000-00-00' ¤Ï 0000-00-00 ¤È¤·¤Æ³ÊǼ¤µ¤ì¼è¤ê½Ð¤µ¤ì¤Þ¤¹¡£ MyODBC ¤òÄ̤·¤Æ '0000-00-00' ÆüÉÕ¤ò»ÈÍѤ¹¤ë»þ¡¢MyODBC 2.50.12 °Ê¾å¤Ç¤Ï¼« ưŪ¤Ë NULL ¤ËÊÑ´¹¤µ¤ì¤Þ¤¹¡£ODBC ¤Ï¤³¤ÎÆüÉդμïÎà¤ò°·¤¨¤Ê¤¤¤¿¤á¤Ç¤¹¡£

¤³¤ì¤Ï¼¡¤¬Æ¯¤¯¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹:

insert into table_1 (idate) values (19970505) ;
insert into table_1 (idate) values ('19970505') ;
insert into table_1 (idate) values ('97-05-05');
insert into table_1 (idate) values ('1997.05.05');
insert into table_1 (idate) values ('1997 05 05');
insert into table_1 (idate) values ('0000-00-00');

select idate from table_1 where idate >= '1997-05-05';
select idate from table_1 where idate >= 19970505;
select mod(idate,100)1 from table_1 where idate >= 19970505;
select idate from table_1 where idate >= '19970505';

¼¡¤ÏƯ¤­¤Þ¤»¤ó:

select idate from table_1 where strcmp(idate,'19970505')=0;
'19970505' ¤Ïʸ»úÎó¤È¤·¤Æ '1997-05-05' ¤ÈÈæ³Ó¤µ¤ì¤ë¤«¤é¤Ç¤¹¡£

MySQL ¤ÏÆüÉÕ¤¬Àµ¤·¤¤¤«¤É¤¦¤«¤ò¥Á¥§¥Ã¥¯¤·¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À ¤µ¤¤¡£´Ö°ã¤Ã¤¿ÆüÉÕ(Î㤨¤Ð 1998-2-31)¤ò³ÊǼ¤¹¤ë¤È¡¢¤½¤Î´Ö°ã¤Ã¤¿ÆüÉÕ¤¬³ÊǼ ¤µ¤ì¤Þ¤¹¡£ÆüÉÕ¤¬Á´ÂÎŪ¤ËÉÔ²Äǽ¤Ê¾ì¹ç¡¢0 ¤¬ÆüÉÕ¹àÌܤ˳ÊǼ¤µ¤ì¤Þ¤¹¡£¤³¤ì¤Ï ¼ç¤Ë®ÅÙ¤ÎÌäÂê¤Ç¡¢ÆüÉդΥÁ¥§¥Ã¥¯¤Ï¥µ¡¼¥Ð¤Ç¤Ï¤Ê¤¯¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç¤È²æ¡¹ ¤Ï¹Í¤¨¤Æ¤¤¤Þ¤¹¡£

¸¡º÷»þ¤Î¥±¡¼¥¹°Í¸

¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï MySQL ¹àÌܤϥ±¡¼¥¹Èó°Í¸¤Ç¤¹ (¤·¤«¤·¡¢¥±¡¼¥¹Èó°Í ¸¤Ë¤Ê¤é¤Ê¤¤¤¤¤¯¤Ä¤«¤Îʸ»ú¥»¥Ã¥È¤Ï¤¢¤ê¤Þ¤¹)¡£¤³¤ì¤Ï¡¢column like 'a%'; ¤Ç¸¡º÷¤·¤¿¾ì¹ç¡¢A ¤Þ¤¿¤Ï a ¤Ç»Ï¤Þ¤ëÁ´¤Æ¤Î¹àÌܤòÆÀ¤ë¤³¤È¤ò °ÕÌ£¤·¤Þ¤¹¡£¸¡º÷¤ò¥±¡¼¥¹°Í¸¤Ë¤·¤¿¤¤¤Î¤Ê¤é¡¢»Ï¤Þ¤ê¤ò¥Á¥§¥Ã¥¯¤¹¤ë¤Ë¤Ï INDEX(column, "A")=0 ¤Î¤è¤¦¤Ê¤³¤È¤ò¡¢¤Þ¤¿¡¢Ê¸»úÎóÁ´ÂΤ¬Æ±¤¸¤«¤É¤¦ ¤«¤Ë¤Ï STRCMP(column, "A") = 0 ¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£

ñ½ã¤ÊÈæ³ÓÁàºî >=, >, =, <, <=¡¢¥½¡¼¥È¤½¤·¤Æ¥°¥ë¡¼¥×²½¤Ï¡¢Ê¸»ú 'sort value' ¾å¤Ç¹Ô¤ï¤ì¤Þ¤¹¡£Æ±¤¸¥½¡¼¥ÈÃͤÎʸ»ú (like E, e and -Aé) $)B¤ÏƱ¤¸Ê¸»ú¤È ¤·¤Æ°·¤ï¤ì¤Þ¤¹¡ª

LIKE Èæ³Ó¤Ï³ÆÊ¸»ú¤ÎÂçʸ»ú¤Ç¹Ô¤ï¤ì¤Þ¤¹ (E == e but E <> -Aé)$)B

column ¤ò¤¤¤Ä¤Ç¤â¥±¡¼¥¹°Í¸¤Ç°·¤¤¤¿¤¤¾ì¹ç¤Ï¡¢¤½¤ì¤ò BINARY ¤È¤·¤ÆÀë¸À¤·¤Æ¤¯¤À¤µ¤¤¡£ ¡ÖCREATE TABLE ¹½Ê¸¡×ÀỲ¾È ¡£

big5 ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤È¸Æ¤Ð¤ì¤ëÃæ¹ñ¸ì¥Ç¡¼¥¿¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢Á´¤Æ¤Î ʸ»ú¹àÌܤò BINARY ¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤ì¤Ï¡¢big5 ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°Ê¸ »ú¤Î¥½¡¼¥È½ç¤¬ ascii ¥³¡¼¥É¤¬´ð¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤¿¤á¡¢µ¡Ç½¤·¤Þ¤¹¡£

NULL ¤Ç¤ÎÌäÂê

SQL ¤Î½é¿´¼Ô¤Î¤¢¤ê¤¬¤Á¤Êº®Íð¤Ï¡¢NULL ¤¬¶õʸ»úÎó '' ¤ÈƱ¤¸Êª¤À¤È¹Í¤¨¤ë¤³ ¤È¤Ç¤¹¡£¤³¤ì¤ÏÀµ¤·¤¯¤¢¤ê¤Þ¤»¤ó¡ª Î㤨¤Ð¡¢¼¡¤Î¥¹¥Æ¡¼¥È¥á¥ó¥È¤ÏÁ´¤¯Ê̤Τ⠤ΤǤ¹:

INSERT INTO my_table (name,phone) values ("my",NULL);
INSERT INTO my_table (name,phone) values ("my","");

½é¤á¤Î¤Ï NULL Ãͤò¥¢¥É¥ì¥¹¤ËÁÞÆþ¤·¡¢ÆóÈÖÌܤΤ϶õʸ»úÎó¤ò¥¢¥É¥ì¥¹¤ËÁÞÆþ¤· ¤Þ¤¹¡£½é¤á¤Î¤Ï 'ÅÅÏÃÈÖ¹æ¤òÃΤé¤Ê¤¤' ¤È¸«¤Ê¤µ¤ì¡¢ÆóÈÖÌÜ¤Î¤Ï 'Èà½÷¤ÏÅÅÏäò »ý¤Ã¤Æ¤¤¤Ê¤¤' ¤È¸«¤Ê¤µ¤ì¤Þ¤¹¡£

SQL ¤Ç¤Ï¡¢ NULL ¤Ï¾¤ÎÁ´¤Æ¤ÎÃÍ(¤¿¤È¤¨ NULL ¤Ç¤â)¤ÈÈæ³Ó¤·¤¿»þ¤Ë¡¢¾ï¤Ëµ¶¤Ë ¤Ê¤ëÃͤǤ¹¡£NULL ¤ò´Þ¤à¼°¤Ï¡¢ÆÃ¤ËÃǤ꤬¤Ê¤±¤ì¤Ð¡¢¾ï¤Ë NULL ÃͤòÀ¸À®¤·¤Þ ¤¹¡£¼¡¤Î¹àÌܤÏÁ´¤Æ NULL ¤òÊÖ¤·¤Þ¤¹:

SELECT NULL,1+NULL,CONCAT('Invisible',NULL);

NULL ¤ò»ý¤Ä¹àÌܤò¸¡º÷¤·¤¿¤¤¾ì¹ç¤Ï¡¢IS NULL ¥Æ¥¹¥È¤ò»ÈÍѤ·¤Ê¤¯¤Æ¤Ï¤¤¤±¤Þ ¤»¤ó¡£¼¡¤Ï NULL ÅÅÏÃÈÖ¹æ¤È¶õ¤ÎÅÅÏÃÈÖ¹æ¤ò¸«¤Ä¤±¤ëÊýË¡¤ò¼¨¤·¤Æ¤¤¤Þ¤¹:

SELECT * from my_table where phone IS NULL;
SELECT * from my_table where phone = "";

MySQL ¤Ç¤Ï¡¢Â¾¤Î¿¤¯¤Î SQL ¥µ¡¼¥Ð¤Î¤è¤¦¤Ë¡¢NULL Ãͤò»ý¤Ä ¥¤¥ó¥Ç¥Ã¥¯¥¹¹àÌܤò»ý¤Æ¤Þ¤»¤ó¡£¤³¤ì¤é¤Î¹àÌÜ¤Ï NOT NULL ¤ÈÀë¸À¤·¤Ê ¤¯¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£

LOAD DATA INFILE ¤Ç¥Ç¡¼¥¿¤òÆÉ¤ß¹þ¤à¤È¤­¤Ï¡¢¶õ¤Î¹àÌÜ¤Ï '' ¤Ç¹¹¿·¤µ ¤ì¤Þ¤¹¡£¹àÌܤò NULL Ãͤˤ·¤¿¤¤¾ì¹ç¤Ï¡¢¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ëÃæ¤Ë NULL ¤Þ¤¿¤Ï \N ¤ò»ÈÍѤ¹¤Ù¤­¤Ç¤¹¡£

ORDER BY »ÈÍÑ»þ¡¢NULL ÃͤϺǽé¤ËÄ󼨤µ¤ì¤Þ¤¹(DESC ̤»ÈÍÑ»þ)¡£ GROUP BY »ÈÍÑ»þ¡¢Á´¤Æ¤Î NULL ÃͤÏÅù¤·¤¤¤È¸«¤Ê¤µ¤ì¤Þ¤¹¡£

NULL ½èÍý¤ò¼ê½õ¤±¤¹¤ë¤¿¤á¡¢¼¡¤Î´Ø¿ô¤ò»ÈÍѤǤ­¤Þ¤¹: IS NULL, IS NOT NULL, IFNULL()


Go to the first, previous, next, last section, table of contents.