2008-11-14 65 views

回答

2

使用CREATE TABLE ... SELECT格式:

create table if not exists tablename as 
select * from defaultdata;
0

這裏是做這件事的一種方法:

CREATE TABLE IF NOT EXISTS T (
    ID int(10) unsigned NOT NULL primary key, 
    NAME varchar(255) NOT NULL 
); 

REPLACE INTO T SELECT 1, 'John Doe'; 
REPLACE INTO T SELECT 2, 'Jane Doe'; 

取而代之的是一個MySQL擴展到SQL標準,要麼插入,或刪除和插入。

0

你可以做一個選擇上的元數據表

if(not exists select * from whatever_meta where table_name = "whatever) 
begin 
    ... 
end 

的一個你必須做一些研究,以找出究竟如何?

0

你能存儲表地位一個變量,然後使用該變量來確定是否插入數據?例如:

@status = SHOW TABLES LIKE 'my_table'; 
INSERT INTO my_table VALUES (1,'hello'),(2,'world') WHERE @status <> false; 

Paul Morgan的答案的問題是它期望數據已經存在於另一個表中。喬納斯的答案將是非常詳盡的資源,特別是如果有很多REPLACES(如果表存在,這是不必要的)。

0

可能是我缺少重點,但爲什麼不能將默認數據設置爲一組插入語句......以及只需創建表(如果不存在後跟插入語句)。 。缺省數據不必存在於不同的表中。

+0

根據條件,您可能會將垃圾數據添加到生產表中。 – acrosman 2008-11-14 23:36:53