如标题所述,是否可以使用create table
查询添加insert
查询。
我的插入查询类似于:
INSERT INTO table (column1, column2) VALUES (:column1, :column2) ON DUPLICATE KEY UPDATE column2 = values(column2)
我希望它像
INSERT INTO table (column1, column2) VALUES (:column1, :column2) AND CREATE TABLE IF NOT EXISTS $tablename (...) ON DUPLICATE KEY UPDATE column2 = values(column2)
,其中
$tablename = "table_".$column1;
编辑:
此外,如果不可能,现在我可以用pdo和php有效地实现相同目的。
答案 0 :(得分:0)
INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]
[INTO] tbl_name
[PARTITION (partition_name,...)]
[(col_name,...)]
{VALUES | VALUE} ({expr | DEFAULT},...),(...),...
[ ON DUPLICATE KEY UPDATE
col_name=expr
[, col_name=expr] ... ]
只有重复密钥更新。插入期间没有create table的功能。
如果您真的需要这个,则需要将其拆分为3个查询。 第一: SELECT * FROM table WHERE column2 =' column2 value&#39 ;;
如果通过选择查询未找到结果,则插入reord。 否则创建表。
如上所述,您可以使用pdo prepare / query。
注意:动态创建表不是一个好主意。如果你这样做,在一天结束时,你可能不知道有多少桌子。你需要找到一些更好的算法。