Cara untuk mengekalkan integriti antara dua lajur dalam jadual MySQL
P粉462328904
P粉462328904 2023-09-12 22:05:39
0
1
475

Saya mempunyai jadual dengan lajur bernama 主键普通列。我想要保持这两列的完整性.

Andaikan saya mempunyai jadual pengguna dan dua data. Saya berharap dalam id列和create_user列之间保持完整性

CREATE TABLE USER (
    id varchar(10) not null,
    create_user varchar(10) not null,
    PRIMARY KEY (id)
);

insert into USER (id,create_user) values ('system','system');
insert into USER (id,create_user) values ('user01','system');

结果如下

| id       | create_user |
| -------- | ------------|
| system   | system      |
| user01   | system      |

Jika saya mengemas kini id (kunci utama) ia tidak mempunyai integriti.

update USER SET id='master' WHERE id='system';

结果如下

| id       | create_user |
| -------- | ------------|
| master   | system      |
| user01   | system      |

Tetapi Saya mahu melaksanakan ini di borang. adakah mungkin? Saya tidak mahu pertanyaan kemas kini tambahan.

| id       | create_user |
| -------- | ------------|
| master   | master      |
| user01   | master      |

P粉462328904
P粉462328904

membalas semua(1)
P粉364129744

Anda boleh mengemas kini sebarang bilangan lajur dan menggunakan pernyataan kes untuk memutuskan perkara yang anda mahu ia ditetapkan

如果存在表t,则删除表t;
CREATE TABLE t (
    id varchar(10) not null,
    create_user varchar(10) not null,
    PRIMARY KEY (id)
);

向t表插入数据 (id,create_user) values ('system','system');
向t表插入数据 (id,create_user) values ('user01','system');

更新t表
SET id = case when id= 'system' then 'master' else id end ,
    create_user = case when create_user = 'system' then 'master' else create_user end 
where id = 'system' or create_user = 'system';

从t表中查询数据;

+--------+-------------+
| id     | create_user |
+--------+-------------+
| master | master      |
| user01 | master      |
+--------+-------------+
共有2行数据 (0.001 秒)
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!