Repository navigation
Expand file tree
/
Copy pathmysql.sql
More file actions
45 lines (45 loc) · 1.6 KB
/
Copy pathmysql.sql
File metadata and controls
45 lines (45 loc) · 1.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
-- #!mysql
-- #{ simplesql
-- #{ init
CREATE TABLE IF NOT EXISTS simplesql_data (
id VARCHAR(128) NOT NULL PRIMARY KEY,
data LONGTEXT NOT NULL,
revision INT UNSIGNED NOT NULL DEFAULT 0
) ENGINE=InnoDB;
-- #}
-- #{ load
-- # :id string
SELECT data, revision FROM simplesql_data WHERE id = :id;
-- #}
-- #{ save
-- # :id string
-- # :data string
-- # :revision int
INSERT INTO simplesql_data (id, data, revision) VALUES (:id, :data, :revision)
ON DUPLICATE KEY UPDATE data = VALUES(data), revision = VALUES(revision);
-- #&
SELECT id, data, revision FROM simplesql_data WHERE id = :id;
-- #}
-- #{ pair_engine
SELECT ENGINE AS engine FROM information_schema.TABLES
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'simplesql_data';
-- #}
-- #{ save_pair
-- # :first_id string
-- # :first_data string
-- # :first_revision int
-- # :second_id string
-- # :second_data string
-- # :second_revision int
INSERT INTO simplesql_data (id, data, revision) VALUES
(:first_id, :first_data, :first_revision),
(:second_id, :second_data, :second_revision)
ON DUPLICATE KEY UPDATE data = VALUES(data), revision = VALUES(revision);
-- #&
SELECT id, data, revision FROM simplesql_data WHERE id IN (:first_id, :second_id);
-- #}
-- #{ delete
-- # :id string
DELETE FROM simplesql_data WHERE id = :id;
-- #}
-- #}