救命!代码没有创建表,这看起来不错吗?您如何通常调试以找出MySQL中无法正常工作的内容?
<?php
// Connect to the file above here
require "connect_to_mysql.php";
$sqlCommand = "CREATE TABLE products (
id INT(11) NOT NULL auto_increment,
product_name VARCHAR(255) NOT NULL,
price VARCHAR(64) NOT NULL,
details text NOT NULL,
category varchar(64) NOT NULL,
date_added date NOT NULL,
PRIMARY KEY(id),
UNIQUE KEY product_name(product_name),
)";
mysql_query($sqlCommand) or die(mysql_error());
?>
Run Code Online (Sandbox Code Playgroud) 我希望用一些旧的数据创建一个新表,但也有我可以编辑的新空列。
我会从:
CREATE TABLE new_table AS SELECT ID, title, summary FROM old_table;
Run Code Online (Sandbox Code Playgroud)
然后用新列更改表:
ALTER TABLE new_table ADD note datatype;
Run Code Online (Sandbox Code Playgroud)
但是我需要我的新空列在标题和摘要之间,而不是像 ALTER 给我的那样“最终”。
我想结合 CREATE TABLE 和 CREATE TABLE AS SELECT - 但那可能吗?
我正在尝试在我的数据库上创建一个表。这是错误
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ') NOT NULL , `ctc` DOUBLE(5) NOT NULL , `ref` VARCHAR(50) NOT NULL , `date` D' at line 1
Run Code Online (Sandbox Code Playgroud)
我的查询:
CREATE TABLE `job`.`form_details` (
`email_id` VARCHAR(50) NOT NULL ,
`name` VARCHAR(50) NOT NULL ,
`number` VARCHAR(14) NOT NULL ,
`city` VARCHAR(50) NOT NULL ,
`skill` VARCHAR(50) NOT NULL ,
`qualification` VARCHAR(50) NOT …Run Code Online (Sandbox Code Playgroud) 我正在编写一个函数,它将选择结果输出并将其汇总到一个新表中 - 因此我尝试使用 INTO 函数。但是,我的独立代码可以工作,但是一旦进入函数,我就会收到一条错误消息,指出新的 SELECT INTO 表不是已定义的变量(也许我遗漏了一些东西)。请看下面的代码:
CREATE OR REPLACE FUNCTION rev_1.calculate_costing_layer()
RETURNS trigger AS
$BODY$
BEGIN
-- This will create an intersection between pipelines and sum the cost to a new table for output
-- May need to create individual cost columns- Will also keep infrastructure costing seperated
--DROP table rev_1.costing_layer;
SELECT inyaninga_phases.geom, catchment_e_gravity_lines.name, SUM(catchment_e_gravity_lines.cost) AS gravity_sum
INTO rev_1.costing_layer
FROM rev_1.inyaninga_phases
ON ST_Intersects(catchment_e_gravity_lines.geom,inyaninga_phases.geom)
GROUP BY catchment_e_gravity_lines.name, inyaninga_phases.geom;
RETURN NEW;
END;
$BODY$
language plpgsql
Run Code Online (Sandbox Code Playgroud) 我正在尝试在过程中创建临时表:
PROCEDURE pr_create_tmp_bp_table(fp_id NUMBER) IS
tbl_name CONSTANT VARCHAR2(20) := 'BP_TO_DELETE';
BEGIN
-- sanity checks removed for readablity
EXECUTE IMMEDIATE
'CREATE GLOBAL TEMPORARY TABLE ' || tbl_name || ' ' ||
'ON COMMIT PRESERVE ROWS AS ' ||
'SELECT * FROM infop_stammdaten.bp';
END;
Run Code Online (Sandbox Code Playgroud)
如果我将该BEGIN.._END块复制到 SQL 工作表,则一切正常。所以我认为用户有权创建临时表。如果我从同一个 SQL 工作表执行该过程,我会得到
Fehlerbericht -
ORA-01031: Nicht ausreichende Berechtigungen
ORA-06512: in "INFOP_STAMMDATEN.PA_DELETE_FP", Zeile 16
ORA-06512: in Zeile 6
01031. 00000 - "insufficient privileges"
*Cause: An attempt was made to perform a database operation without …Run Code Online (Sandbox Code Playgroud) 这个SQL:
\n\nCREATE TABLE product_ ( \n pkey_ UUID PRIMARY KEY\n) ; \nRun Code Online (Sandbox Code Playgroud)\n\n\xe2\x80\xa6成功创建表。
\n\n但我希望新行默认为生成的 UUId,如本 AnswerRANDOM_UUID()所示。
CREATE TABLE product_ ( \n pkey_ UUID PRIMARY KEY DEFAULT RANDOM_UUID() \n) ; \nRun Code Online (Sandbox Code Playgroud)\n\n但这失败并出现错误:
\n\n\n\n\norg.h2.jdbc.JdbcSQLException: SQL 语句中的语法错误“CREATE TABLE PRODUCT_ (\n PKEY_ UUID PRIMARY KEY DEFAULT[*] RANDOM_UUID() \n ) ;”; 预期为“HASH、AUTO_INCRMENT、NOT、NULL、CHECK、REFERENCES、,、)”;SQL语句:
\n
此错误的原因和解决方法是什么?
\n我有一个非常简单的表:
id | name | alternate
--------+--------+------------
1 | Joe | Joseph
--------+--------+------------
2 | Pete | Peter
--------+--------+------------
Run Code Online (Sandbox Code Playgroud)
等等。
我想在名称和备用列上添加约束,但与顺序无关。例如,我不希望能够插入(3, 'Peter', 'Pete'),因为它本质上与 id 2 相同,只是列颠倒了。
有没有办法做到这一点?
嗨,我正在尝试使用内部选择语句创建一个表...
例如:
CREATE TABLE JmxMonSer AS (SELECT * FROM services WHERE monitoring_enabled = 1);
Run Code Online (Sandbox Code Playgroud)
但不断收到错误:
关键字"AS",严重级15附近的语法错误
请指教
我创建了一个小的Perl脚本来向表中插入大量条目.
示例代码段:
$query = "insert into big_table (first_name, last_name) values (?, ?) ";
# prepare your statement for connecting to the database
$statement = $connection->prepare($query);
for(my $i = 1; $ i <= 70000; i++) {
my $first = "test".$i;
my $last = "test".$i;
$statement->execute($first, $last);
}
Run Code Online (Sandbox Code Playgroud)
它插入行,大约需要15分钟
但是当我这样做时:
CREATE TABLE big_table2 like big_table;
INSERT INTO big_table2 SELECT * FROM big_table;
Run Code Online (Sandbox Code Playgroud)
只花了55秒!对于70000行为
何如此巨大的差异?
我需要以这种格式在此列中保存日期时间,如果我从GAMES中选择TIME,则会以此格式显示.但这是错误的.你能帮助我吗 ?
create table GAMES (
CIS_HRY INTEGER not null,
NAZEV VARCHAR2(30) not null,
Date DATE NOT NULL FORMAT 'YYYY-MM-DD',
TIME DATE NOT NULL FORMAT 'HH24: MI: SS',
POPIS CLOB,
constraint PK_GAMES primary key (CIS_HRY)
);
Run Code Online (Sandbox Code Playgroud) create-table ×10
sql ×5
mysql ×3
oracle ×2
postgresql ×2
alter-table ×1
database ×1
date ×1
ddl ×1
h2 ×1
insert-into ×1
performance ×1
perl ×1
php ×1
plsql ×1
postgis ×1
primary-key ×1
sql-server ×1
syntax-error ×1
uuid ×1