Mysql´æ´¢¹ý³Ì£¨Î壩——SEQUENCEµÄʵÏÖ
ÔÚ
oracle
ÖУ¬
sequence
Ìṩ¶à±í¶à×ֶοɹ²ÓÃÒ»¸ö²»Öظ´Öµ¡£
Mysql
ÖдæÔÚ×ÔÔöÁУ¬»ù±¾¿ÉÒÔÂú×ã
PK
µÄÒªÇó¡£µ«×ÔÔöÁдæÔÚÏÞÖÆ£º
a.
Ö»ÄÜÓÃÓÚ±íÖеÄÒ»¸ö×ֶΣ¬Ò»ÕŲ»ÄÜͬʱ´æÔÚÁ½¸öÒÔÉϵÄ×ÔÔöÁÐ
;
b.
×ÔÔöÁбØÐë±»¶¨ÒåΪ
key
£¨
PK
»ò
FK
£©
;
c.
×ÔÔöÁв»Äܱ»¶à¸ö±í¹²ÓÃ
;
d.
µ±
insert
Óï¾ä²»°üÀ¨×ÔÔö×ֶλò½«ÆäÖµÉèÖÃΪ
NULL
ʱ£¬¸ÃÖµ»á×Ô¶¯ÌîÉÏ¡£
ÔÚ²»ÒªÇó×Ö¶Î˳ÐòµÝÔöµÄÇé¿öÏ£¬¿ÉÒÔÔÚ
Mysql
ÖÐʵÏÖÐòÁУº
Sql
code 5-1:
DROP TABLE IF EXISTS sequence;
-- ½¨sequence±í£¬Ö¸¶¨seqÁÐΪÎÞ·ûºÅ´óÕûÐÍ£¬¿ÉÖ§³ÖÎÞ·ûºÅÖµ£º0(default)µ½18446744073709551615£¨0µ½2^64–1£©¡£
CREATE TABLE sequence (
name VARCHAR(50) NOT NULL,
current_value BIGINT UNSIGNED NOT NULL DEFAULT 0,
increment INT NOT NULL DEFAULT 1,
PRIMARY KEY (name) -- ²»ÔÊÐíÖØ¸´seqµÄ´æÔÚ¡£
) ENGINE=InnoDB;
DELIMITER /
DROP FUNCTION IF EXISTS currval /
CREATE FUNCTION currval(seq_name VARCHAR(50))
RETURNS BIGINT
BEGIN
DECLARE value BIGINT;
SELECT current_value INTO value
from sequence
WHERE upper(name) = upper(seq_name); -- ´óСд²»Çø·Ö.
RETURN value;
END;
/
DELIMITER ;
DELIMITER /
DROP FUNCTION IF EXISTS nextval /
CREATE FUNCTION nextval (seq_name VARCHAR(50))
RETURNS BIGINT
BEGIN
DECLARE value BIGINT;
UPDATE sequence
SET current_value = current_value + increment
WHERE upper(name) = upper(seq_name);
RETURN currval(seq_name);
END;
/
DELIMITER ;
DELIMITER /
DROP FUNCTION IF EXISTS setval /
CREATE FUNCTION setval (seq_name VARCHAR(50), value BIGINT)
RETURNS BIGINT
BEGIN
UPDATE seque
Ïà¹ØÎĵµ£º
¶ÔÓÚÈκÎÒ»¸öÊý¾Ý¿â¹ÜÀíϵͳÀ´Ëµ£¬ÄÚ´æµÄ·ÖÅäʹÓþø¶Ô¿ÉÒÔËãµÄÉÏÊÇÆäºËÐÄÖ®Ò»ÁË£¬ËùÒԺܶàÏ£Íû¸üΪÉîÈëÁ˽âijÊý¾Ý¿â¹ÜÀíϵͳµÄÈË£¬¶¼»áÏ£ÍûÒ»¿ú¾¿¾¹£¬ÎÒÒ²²»ÀýÍâ¡£
´ÓÄÚ´æµÄʹÓ÷½Ê½MySQL Êý¾Ý¿âµÄÄÚ´æÊ¹ÓÃÖ÷Òª·ÖΪÒÔÏÂÁ½Àà
* Ï̶߳ÀÏíÄÚ´æ
* È«¾Ö¹²ÏíÄÚ´æ
½ñÌìÕâÆªÎÄÕÂÔÝʱÏÈ·ÖÎö MySQL ÖÐÖ÷ÒªµÄ “Ï̶߳ÀÏíÄ ......
1.µÇ¼£º mysql -uroot -p
2.LinuxÏÂmysql ²»ÄÜÍâÍø·ÃÎÊ
ÒѾÔÚMYSQLÀïgrantÁËȨÏÞÁË¡£ÔÚÍâÍø»¹ÊDz»ÄÜ·ÃÎÊ .
ÎÊÌ⣺
cat /etc/mysql/my.conf
ÕÒµ½ÏÂÃæÒ»ÐÐ
bind-address = 127.0.0.1
Î ......
mysql error number 2003
Can't connect to MySQL server xxx.xxx.xxx.xxx (10061)
ÔÚubuntu 9.04ÖÐĬÈϰ²×°ÁËmysql£¬Ä¬ÈÏÖ»Äܱ¾µØ·ÃÎÊ£¬googleÁËһϣº
²ÉÓÃ
µÇ¼µ½MySQL·þÎñÆ÷¶Ë£¬ÔÚmysql¿âÏÂÖ´ÐÐ
grant all on *.* to 'remote'@'172.16.21.39' identified by 'password';
¼´¿É
Èç¹ûÒªÉèÖÃΪ ......
ÔÚPHP´úÂë¶ÎÇ°ÃæÔËÐÐÒÔÏÂÓï¾ä
@mysql_connect($host,$user,$password);
@mysql_query('SET NAMES "UTF8"');
@mysql_query('SET COLLATION_CONNECTION=utf8_general_ci');
»òÕßÔÚMYSQLÖÐÔËÐÐÒ»´Î:
SET NAMES "UTF8";
SET COLLATION_CONNECTION=utf8_general_ci
Ò»ÀÍÓÀÒÝ
......
ÓÐʱºò£¬²»Ï£Íû´æ´¢¹ý³ÌÅ׳ö´íÎóÖÐÖ¹Ö´ÐУ¬¶øÊÇÏ£Íû·µ»ØÒ»¸ö´íÎóÂë¡£
Mysql
Ö§³ÖÒì³£´¦Àí£¬Í¨¹ý¶¨Òå
CONTINUE/EXIT
Òì³£´¦ÀíµÄ
HANDLER
À´²¶»ñ
SQLWARNING/NOT FOUND/SQLEXCEPTION
£¨¾¯¸æ
/
ÎÞÊý¾Ý
/
ÆäËûÒì³££©¡£ÆäÖУ¬
FOR
ºóÃæ¿ÉÒÔ¸ÄΪ
SQLWARNING,
NOT FOUND, SQLEXCEPTION
À´Ö¸Ê¾ËùÓÐÒì³£¶¼´¦Àí£¬Ïൠ......