Subject: Help with syntax error

From: Arbol One <[email-masked]>
Date: Sun, 1 Dec 2024 19:14:04 -0500

I have these tables:

*CREATE TABLE IF NOT EXISTS registrar (
index SERIAL,
registrar_id TEXT,
day TEXT NOT NULL,
month TEXT NOT NULL,
year TEXT NOT NULL,
hour TEXT NOT NULL,
minute TEXT NOT NULL,
second TEXT NOT NULL,
millisecond TEXT NOT NULL,
am_pm TEXT NOT NULL,
admin BOOLEAN NOT NULL DEFAULT false,
CONSTRAINT key PRIMARY KEY (registrar_id) );

CREATE TABLE IF NOT EXISTS user_name (
user_name_id TEXT PRIMARY KEY REFERENCES registrar(registrar_id),
first_name TEXT NOT NULL,
middle_name TEXT NOT NULL,
last_name TEXT NOT NULL);*

When I enter the following pg commands :

*INSERT INTO registrar VALUES (DEFAULT, '18551420601012L23', '1', '12', 
'2024', '18', '55', '14', '207', 'PM');
INSERT INTO user_name '18551420601012L23', 'John', 'Fitzgerald', 
'Kennedy'); <= **/UserNameTable.write()/*

I get this message :

*/Exception in thread "main" java.sql.SQLException: In 
company.contact.Company$UserNameTable.write()
ERROR: syntax error at or near "'18551420601012L23'"
   Position: 23/
*

The error is in the user_name_id, which is a primary that references the 
table "*registrar*" 's "*registrar_id" *primary key.
According to the documentation 
<https://www.postgresql.org/docs/current/tutorial-fk.html>, the 
insertion should be OK, no?

What am I doing wrong?

-- 
*/ArbolOne ™/*
Using Fire Fox and Thunderbird.
ArbolOne is composed of students and volunteers dedicated to providing 
free services to charitable organizations.
ArbolOne's development on Java, PostgreSQL, HTML and Jakarta EE is in 
progress [ í ]

---

From: Adrian Klaver <[email-masked]>
Date: Sun, 1 Dec 2024 16:17:37 -0800

> 'Kennedy'); <= **/UserNameTable.write()/*

You don't see the difference between the first and second statements.

Hint, it starts with V.

-- 
Adrian Klaver
[email-masked]

---

From: Ron Johnson <[email-masked]>
Date: Sun, 1 Dec 2024 19:18:36 -0500

On Sun, Dec 1, 2024 at 7:14 PM Arbol One <[email-masked]> wrote:

> I have these tables:
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> *CREATE TABLE IF NOT EXISTS registrar ( index SERIAL, registrar_id TEXT,
> day TEXT NOT NULL, month TEXT NOT NULL, year TEXT NOT NULL, hour TEXT NOT
> NULL, minute TEXT NOT NULL, second TEXT NOT NULL, millisecond TEXT NOT
> NULL, am_pm TEXT NOT NULL, admin BOOLEAN NOT NULL DEFAULT false, CONSTRAINT
> key PRIMARY KEY (registrar_id) ); CREATE TABLE IF NOT EXISTS user_name (
> first_name TEXT NOT NULL, middle_name TEXT NOT NULL, last_name TEXT NOT
> NULL);*
>
> '2024', '18', '55', '14', '207', 'PM'); INSERT INTO user_name
> '18551420601012L23', 'John', 'Fitzgerald', 'Kennedy'); <= *
> *UserNameTable.write()*
>
> I get this message :
>
>
>
>
> *Exception in thread "main" java.sql.SQLException: In
> company.contact.Company$UserNameTable.write() ERROR: syntax error at or
> near "'18551420601012L23'"   Position: 23 *
>
> <https://www.postgresql.org/docs/current/tutorial-fk.html>, the insertion
> should be OK, no?
>
> What am I doing wrong?
>

What happens when you run those INSERT commands directly in psql?

Hint: it's probably going to complain about a syntax error in the second
INSERT statement.

-- 
Death to <Redacted>, and butter sauce.
Don't boil me, I'm still alive.
<Redacted> lobster!