(FileMaker Pro 13使用時)
SET NAMES utf8 [参考URL]
SET NAMES
indicates what character set
the client will use to send SQL statements to the server.
Thus, SET NAMES 'cp1251'
tells the
server, “future incoming messages from this client are
in character set cp1251
.” It also
specifies the character set that the server should use for
sending results back to the client.A
SET NAMES
'charset_name
'
statement is equivalent to these three statements:
SET character_set_client =charset_name
; SET character_set_results =charset_name
;←A SET character_set_connection =charset_name
;
SET character_set_results = NULL [参考URL]
If you want the server to perform no conversion of result sets or error messages, set character_set_results to NULL or binary:SET SQL_AUTO_IS_NULL = 0 [参考URL]
If this variable is set to 1 (the default), then after a statement that successfully inserts an automatically generatedAUTO_INCREMENT
value, you can find that
value by issuing a statement of the following form:
SELECT * FROM
If the statement returns a row, the value returned is the same
as if you invoked the
tbl_name
WHERE auto_col
IS NULL
LAST_INSERT_ID()
function.つまり、INSERT直後、
AUTO_INCREMENT値は存在するにもかかわらず、IS NULL として認識されるというもろ刃の剣。
SET AUTOCOMMIT=0 [参考URL]
The autocommit mode. If set to 1, all changes to a table take effect immediately. If set to 0, you must useCOMMIT
to accept a transaction
or ROLLBACK
to cancel it. By default, client connections begin with
autocommit
set to 1. If you
change autocommit
mode from 0
to 1, MySQL performs an automatic
COMMIT
of any open transaction.
set @@sql_select_limit=DEFAULT [参考URL]
The maximum number of rows to return fromSELECT
statements. The default
value for a new connection is the maximum number of rows that
the server allows per table, which depends on the server
configuration and may be affected if the server build was
configured with
--with-big-tables
. Typical
default values are (232)–1 or
(264)–1. If you have changed
the limit, the default value can be restored by assigning a
value of DEFAULT
.
If a
SELECT
has a
LIMIT
clause, the LIMIT
takes precedence over the value of
sql_select_limit
.
sql_select_limit
does not
apply to SELECT
statements
executed within stored routines. It also does not apply to
SELECT
statements that do not
produce a result set to be returned to the client. These
include SELECT
statements in
subqueries,
CREATE TABLE ... SELECT
, and
INSERT INTO ... SELECT
. ※うちのDEFAULTは、 (264)–1=18446744073709551615 でした。こんなん返されても困るわ。
SET SQL_MODE='STRICT_ALL_TABLES' [参考URL]
For transactional tables, an error occurs for invalid or missing values in a data-change statement when eitherSTRICT_ALL_TABLES
or
STRICT_TRANS_TABLES
is
enabled. The statement is aborted and rolled back.
SELECT TABLE_NAME, TABLE_COMMENT, TABLE_TYPE, TABLE_SCHEMA FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA LIKE 'easyinv15' AND ( TABLE_TYPE='BASE TABLE' OR TABLE_TYPE='VIEW' ) AND TABLE_NAME LIKE '郵便番号'
INFORMATION_SCHEMA から、アプリで使用さているビューを含むテーブル情報を取得。
select database()
接続中のデータベース名を返すdescribe `郵便番号`
当該テーブルのコラム情報を取得SHOW KEYS FROM `easyinv15`.`郵便番号`
プライマリ等キー情報を取得、Cardinality ってここにあるのね。SELECT TABLE NAME ~ から SHOW KEYS ~ (イタリック部)は、FileMaker ファイル内に登録されたすべてのMySQLシャドウテーブル(ビュー含む)に対して実行される(キリッ
(土屋)