如何在不插入数据库中的任何行的情况下执行插入查询。
我尝试了这个,但这不起作用。
insert
into table_name
values ()
;
答案 0 :(得分:1)
要使用INSERT
语句而不插入任何行,您可以执行以下操作:
INSERT INTO <table_name>
SELECT ... WHERE <any condition which will never be true>
MySQL 5.6.6 m9架构设置 - SQL Fiddle:
CREATE TABLE Test (
A INT PRIMARY KEY,
B INT DEFAULT 42,
C CHAR(20) DEFAULT 'Test'
);
INSERT INTO Test
SELECT * FROM Test WHERE 1 = 0;
Oracle 11g R2架构设置 - SQL Fiddle:
CREATE TABLE Test (
A NUMBER PRIMARY KEY,
B NUMBER DEFAULT 42,
C CHAR(20) DEFAULT 'Test'
);
INSERT INTO Test
SELECT * FROM Test WHERE 1 = 0;
答案 1 :(得分:0)
在SQL server中,它是
insert into table_name default values
来自MySQL文档:
如果列列表和VALUES列表都为空,INSERT会创建一行,每列设置为其默认值:
INSERT INTO tbl_name () VALUES();